keyCode 事件屬性
實例
獲取按下的鍵盤按鍵Unicode值:
x 輸出結果為:
本文底部包含了更多實例。
定義和使用
keyCode 屬性返回onkeypress事件觸發的鍵的值的字元代碼,或者 onkeydown 或 onkeyup 事件的鍵的代碼。
兩種代碼類型的區別是:
- 字元代碼 - 表示 ASCII 字元的數字
- 鍵盤代碼 - 表示鍵盤上真實鍵的數字
提示: 如果需要知道用戶按下的是列印鍵 (如 "a" 或 "5"),建議使用 onkeypress 事件。如果需要知道用戶按下的是功能鍵(如 "F1", "CAPS LOCK" 或 "Home") 可使用 onkeydown 或 onkeyup 事件。
注意: 在 Firefox 中,, keyCode 屬性在 onkeypress 事件中是無效的 (返回 0)。流覽器相容問題,可以一起使用 which 和 keyCode 屬性來解決:
提示: 所有 Unicode 字元列表可查看我們的 完整 Unicode 參考手冊。
提示: 如果你需要將 Unicode 值轉換為字元,可以使用 fromCharCode() 方法。
注意: 該屬性是只讀的。
注意: which 和 keyCode 屬性提供瞭解決流覽器的相容性的方法,最新版本的 DOM 事件推薦使用 key 屬性來替代該方法。
提示: 如果你想查看是否按下了 "ALT", "CTRL", "META" 或 "SHIFT" 鍵,可使用 altKey, ctrlKey, metaKey 或 shiftKey 屬性。
流覽器支持
屬性 | |||||
---|---|---|---|---|---|
keyCode | Yes | Yes | Yes | Yes | Yes |
語法
技術細節
返回值: | 數字,表示 Unicode 字元代碼或 Unicode 鍵代碼 |
---|---|
DOM 版本: | DOM Level 2 Events |

更多實例
實例
使用 onkeypress 和 onkeydown 來演示字元代碼與鍵盤代碼的區別:
function uniCharCode(event) {
var char = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.keyCode;
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
當在鍵盤上按下 "a" 鍵 (不使用大寫鎖定), 輸出結果如下:
Unicode 鍵代碼: 65
實例
如果按下 Esc 鍵彈出提示資訊:
function myFunction(event) {
var x = event.keyCode;
if (x == 27) { // 27 是 ESC 鍵
alert ("You pressed the Escape key!");
}
}
實例
將 Unicode 值轉換為字元 (不能用於功能鍵):
var y = String.fromCharCode(x); // 將值轉換為字元
相關頁面
HTML DOM 參考手冊: key 事件屬性
HTML DOM 參考手冊: keyCode 事件屬性
HTML DOM 參考手冊: which 事件屬性