jQuery Event.which 屬性

which屬性用于返回觸發當前事件時按下的鍵盤按鍵或鼠標按鈕。對于鍵盤和鼠標事件,該屬性用于確定你按下的是哪一個鍵盤按鍵或鼠標按鈕。

which屬性對DOM原生的event.keyCode和event.charCode進行了標準化。

適用的事件類型主要有鍵盤事件:keypress、keydown、keyup,以及鼠標事件:mouseup、mousedown。
該屬性屬于jQuery的Event
對象(實例)。

which屬性的返回值是Number類型,返回觸發當前事件時按下的鍵盤按鍵或鼠標按鈕。
在mousedown、mouseup事件中,event.which屬性返回的是對應鼠標按鈕的映射代碼值(相當于event.button)。以下是主要的鼠標按鈕映射代碼對應表。


在keypress事件中,event.which屬性返回的是輸入的字符的Unicode值(相當于event.charCode)。以下是常用的字符Unicode代碼對應表。更多字符的Unicode代碼,請參見完整的ASCII編碼表(Unicode兼容ASCII)。


在keydown、keyup事件中,event.which屬性返回的是對應按鍵的映射代碼值(相當于event.keyCode)。以下是常用的鍵盤按鍵映射代碼的對應表:


示例:

// 為當前文檔綁定keydown和mousedown兩種事件
// 檢測鼠標按下了那些鍵
// 檢測鍵盤按下了那些字母按鍵
$(document).bind("keydown mousedown", function(event){
    var msg = '';
    if( event.type == "mousedown" ){ // 鼠標按下事件
        var map = {"1": "左", "2":"中", "3":"右"};
        msg = '你按下了鼠標[' + map[event.which] + ']鍵';
    }else{ // 鍵盤按下事件
        if(event.which >= 65 && event.which <= 90){
            msg = '你按下了鍵盤[' + String.fromCharCode(event.which) + ']鍵';
        }
    }
    if(msg){
        $("#msg").prepend( msg + '<br>');
    }
});
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 總結: 鼠標事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,629評論 2 10
  • (續jQuery基礎(1)) 第5章 DOM節點的復制與替換 (1)DOM拷貝clone() 克隆節點是DOM的常...
    凜0_0閱讀 1,360評論 0 8
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,117評論 25 708
  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設置窗體的名稱,在應用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調閱讀 4,589評論 0 11
  • 最近關于中年危機的熱點很多,失業,上有老下有小,壓力大,而我覺得最可怕的是健康的危機;剛入三十歲的老公,最...
    美滋滋時光閱讀 334評論 4 1