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())獲得。注意,對於字元獲得的始終是大寫字元,而對於其他一些功能按鍵,得到的字元可能不太易閱讀。