1. 程式人生 > >JavaScript 獲取鍵盤事件(鍵盤某個按鍵被按下)

JavaScript 獲取鍵盤事件(鍵盤某個按鍵被按下)

鍵盤事件(Keyboard Events)

屬性 描述
script 當按下按鍵時執行指令碼
script 當按下並鬆開按鍵時執行指令碼
script 當鬆開按鍵時執行指令碼

onkeydown 獲取使用者按下的鍵

下面是一個利用 onkeydown 事件獲取使用者按下鍵盤按鍵資訊的例子:

程式碼如下:
< html>
< body>
< script type="text/javascript">

function noNumbers(e)
{
    var keynum;
    var keychar;

    keynum = window.event ? e.keyCode : e.which;
    keychar = String.fromCharCode(keynum);
    alert(keynum+':'+keychar);
}

</script>
< input type="text" onkeydown="return noNumbers(event)" />
< /body>
< /html>

提示

Internet Explorer/Chrome 瀏覽器使用 event.keyCode 取回被按下的字元,而 Netscape/Firefox/Opera 等瀏覽器使用 event.which。

如上面例子所示,event.keyCode/event.which 得到的是一個按鍵對應的數字值(Unicode 編碼),常用鍵值對應如下:

數字值 實際鍵值
48到57 0到9
65到90 a到z(A到Z)
112到135 F1到F24
8 BackSpace(退格)
9 Tab
13 Enter(回車)
20 Caps_Lock(大寫鎖定)
32 Space(空格鍵)
37 Left(左箭頭)
38 Up(上箭頭)
39 Right(右箭頭)
40 Down(下箭頭)

在 Web 應用中,常常可以看到利用 onkeydown 事件的 event.keyCode/event.which 來獲取使用者的一些鍵盤操作,從而執行某些運用的例子。如在使用者登入時,如果按下了大寫鎖定鍵(20),則加以提示大寫鎖定;在有翻頁的時候,如果使用者按下左右箭頭,觸發上下翻頁等。

獲得 Unicode 編碼值之後,如果需要得到實際對應的按鍵值,可以通過 Srting 物件的 fromCharCode 方法(String.fromCharCode())獲得。注意,對於字元獲得的始終是大寫字元,而對於其他一些功能按鍵,得到的字元可能不太易閱讀。