我們在使用鍵盤的時候就會發生鍵盤事件。鍵盤事件主要遵循DOM0級規范,有3個鍵盤事件:
keydown:當用戶按下鍵盤上的任意鍵時觸發,如果長按某個鍵,則會一直觸發。keypress:當用戶按下鍵盤上的字符鍵時觸發,如果長按某個字符鍵,則會一直觸發。按下Esc鍵也會觸發這個事件。keyup:當用戶釋放鍵盤上的鍵時觸發。
當我們按下鍵盤上的一個字符鍵的時候,首先會觸發的是keydown事件,然后是keypress事件,最后是keyup事件。如果是在某個文本框中觸發了這些事件,那么keydown和keyup事件在文本框發生變化之前被觸發,而keyup事件在文本框已經發生變化之后被觸發。
如果我們按下的不是一個字符鍵,那么首先會觸發的是keydown事件,然后是keyup事件。
鍵盤事件和鼠標事件一樣,都支持相同的功能鍵。鍵盤事件的事件對象中也有shiftKey、ctrlKey、altKey和metaKey屬性。IE不支持metaKey屬性。
下表中列出了所有非字符鍵的鍵碼。
| 鍵盤按鈕 | 鍵碼 | 鍵盤按鈕 | 鍵碼 |
| Backspace(退格鍵) | 8 | Tab(制表鍵) | 9 |
| Enter(回車鍵) | 13 | Shift(上檔鍵) | 16 |
| Ctrl(控檔鍵) | 17 | Alt(換擋鍵) | 18 |
| Pause/Break(暫停/中斷) | 19 | Caps Lack(大小寫鎖定) | 20 |
| Shift+Tab(上檔+制表) | 25 | Esc(退出鍵) | 27 |
| Page Up(向上翻頁) | 33 | Page Down(向下翻頁) | 34 |
| End(結尾) | 35 | Home(開頭) | 36 |
| Left Arrow(向左箭頭) | 37 | Up Arrow(向上箭頭) | 38 |
| Right Arrow(向右箭頭) | 39 | Down Arrow(向下箭頭) | 40 |
| Ins(插入鍵) | 45 | Del(刪除鍵) | 46 |
| 左windows鍵 | 91 | 右windows鍵 | 92 |
| 上下文菜單鍵 | 93 | 數字小鍵盤0 | 96 |
| 數字小鍵盤1 | 97 | 數字小鍵盤2 | 98 |
| 數字小鍵盤3 | 99 | 數字小鍵盤4 | 100 |
| 數字小鍵盤5 | 101 | 數字小鍵盤6 | 102 |
| 數字小鍵盤7 | 103 | 數字小鍵盤8 | 104 |
| 數字小鍵盤9 | 105 | 數字小鍵盤* | 106 |
| 數字小鍵盤+ | 107 | 數字小鍵盤- | 109 |
| 數字小鍵盤. | 110 | 數字小鍵盤/ | 111 |
| F1 | 112 | F2 | 113 |
| F3 | 114 | F4 | 115 |
| F6 | 116 | F7 | 118 |
| F8 | 119 | F10 | 120 |
| F11 | 121 | F12 | 122 |
| Num Lock(數字鎖) | 144 | Scrool Lock(滾動鎖) | 145 |
| 分號 | 186(IE/Chrome/Safari) 59(Opera/Firefox) |
<(小於號) | 188 |
| >(大於號) | 190 | /(正斜杠) | 191 |
| `(沉音符) | 192 | =(等於號) | 61 |
| [(左方括號) | 219 | \(反斜杠) | 220 |
| ](右方括號) | 221 | 單引號 | 222 |
