KeyboardEvent:keyCode 属性
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
已废弃的 KeyboardEvent.keyCode 只读属性表示一个系统和实现相关的数字代码,用于识别按键未修改的值。
这通常是与按键对应的十进制 ASCII (RFC 20) 或 Windows 1252 代码。如果无法识别按键,此值为 0。
如果可能,应避免使用此属性;它已被废弃一段时间。相反,您应该使用 KeyboardEvent.code(用于物理按键)或 KeyboardEvent.key(用于按键映射的字符)。如果您的目标浏览器非常旧,请检查这两个属性的兼容性。
注意:Web 开发人员在处理 keydown 和 keyup 事件时,不应使用 keyCode 属性来处理可打印字符。如上所述,keyCode 属性对于可打印字符并不实用,尤其是那些按住 Shift 或 Alt 键输入的字符。
keyCode 的值
标准位置的可打印按键
在标准位置按压或释放可打印按键导致的按键事件值在不同浏览器之间不兼容。
IE 只将原生虚拟按键代码值作为 KeyboardEvent.keyCode 暴露。
Google Chrome、Chromium 和 Safari 必须根据输入的字符来决定值。如果输入的字符可以通过美国键盘布局输入,它们会使用美国键盘布局上的 keyCode 值。
Firefox 从按键输入的 ASCII 字符获取 keyCode 值,即使有 Shift 修饰键或 ASCII 兼容的键盘布局。详情请参阅以下规则:
- 如果系统是 Windows 且按下按键的原生按键代码指示该键是 a-z 或 0-9,则为其使用按键代码。
- 如果系统是 Mac 且按下按键的原生按键代码指示该键是 0-9,则为其使用按键代码。
- 如果按下的键在没有修饰键的情况下输入 ASCII 字母或数字字符,则为其使用按键代码。
- 如果按下的键在按下 Shift 键修饰符的情况下输入 ASCII 字母或数字字符,则为其使用按键代码。
- 如果按下的键在没有修饰键的情况下输入不同的 ASCII 字符,则为其使用按键代码。
- 如果按下的键在按下 Shift 键修饰符的情况下输入不同的 ASCII 字符,则为其使用按键代码。
- 否则,即按下的键输入 Unicode 字符
- 如果键盘布局是 ASCII 兼容的(即可以输入 ASCII 字母),则使用 0 或根据以下附加规则进行计算。
- 否则,即键盘布局不是 ASCII 兼容的,使用环境中优先级最高的 ASCII 兼容键盘布局
- 如果备用键盘布局上按下的键输入 ASCII 字母或数字字符,则为其使用按键代码。
- 否则,使用 0 或根据以下附加规则进行计算。
Gecko 尽可能地(当达到上述列表中的第 7.1 或 7.2 点时)根据以下规则设置标点符号键的 keyCode 值
警告:这些新的附加规则的目的是让其键盘布局将 Unicode 字符映射到美国键盘布局中的标点符号键的用户,能够使用仅支持 Firefox 且带有 ASCII 兼容键盘布局或仅带有美国键盘布局的 Web 应用程序。否则,新映射的 keyCode 值可能与其他按键冲突。例如,如果当前键盘布局是俄语,则 "Period" 键和 "Slash" 键的 keyCode 值都为 190 (KeyEvent.DOM_VK_PERIOD)。如果您需要区分这些按键,但又不想自己支持世界上所有的键盘布局,您应该使用 KeyboardEvent.code。
-
如果运行 macOS 或 Linux
-
如果活动键盘布局不是 ASCII 兼容的,并且存在备用 ASCII 兼容键盘布局。
- 如果备用 ASCII 兼容键盘布局仅通过未修改的键产生 ASCII 字符,则使用该字符的
keyCode。 - 如果备用 ASCII 兼容键盘布局在按下 Shift 键时产生 ASCII 字符,则使用该 Shift 字符的
keyCode。 - 否则,当美国键盘布局处于活动状态时,使用该键产生的 ASCII 字符的
keyCode。
- 如果备用 ASCII 兼容键盘布局仅通过未修改的键产生 ASCII 字符,则使用该字符的
-
否则,当美国键盘布局处于活动状态时,使用该键产生的 ASCII 字符的
keyCode。
-
-
如果运行在 Windows 上
- 当美国键盘布局处于活动状态时,使用映射到相同 Windows 虚拟键代码的键所产生的 ASCII 字符的
keyCode值。
- 当美国键盘布局处于活动状态时,使用映射到相同 Windows 虚拟键代码的键所产生的 ASCII 字符的
KeyboardEvent.code |
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |||||||||||||||||
| 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | |
"Digit1" |
0x31 (49) |
0x31 (49) |
0x31 (49) |
0x31 (49) |
0x31 (49) |
0x31 (49) |
0x31 (49) |
0x31 (49) |
||||||||||||||||
"Digit2" |
0x32 (50) |
0x32 (50) |
0x32 (50) |
0x32 (50) |
0x32 (50) |
0x32 (50) |
0x32 (50) |
0x32 (50) |
||||||||||||||||
"Digit3" |
0x33 (51) |
0x33 (51) |
0x33 (51) |
0x33 (51) |
0x33 (51) |
0x33 (51) |
0x33 (51) |
0x33 (51) |
||||||||||||||||
"Digit4" |
0x34 (52) |
0x34 (52) |
0x34 (52) |
0x34 (52) |
0x34 (52) |
0x34 (52) |
0x34 (52) |
0x34 (52) |
||||||||||||||||
"Digit5" |
0x35 (53) |
0x35 (53) |
0x35 (53) |
0x35 (53) |
0x35 (53) |
0x35 (53) |
0x35 (53) |
0x35 (53) |
||||||||||||||||
"Digit6" |
0x36 (54) |
0x36 (54) |
0x36 (54) |
0x36 (54) |
0x36 (54) |
0x36 (54) |
0x36 (54) |
0x36 (54) |
||||||||||||||||
"Digit7" |
0x37 (55) |
0x37 (55) |
0x37 (55) |
0x37 (55) |
0x37 (55) |
0x37 (55) |
0x37 (55) |
0x37 (55) |
||||||||||||||||
"Digit8" |
0x38 (56) |
0x38 (56) |
0x38 (56) |
0x38 (56) |
0x38 (56) |
0x38 (56) |
0x38 (56) |
0x38 (56) |
||||||||||||||||
"Digit9" |
0x39 (57) |
0x39 (57) |
0x39 (57) |
0x39 (57) |
0x39 (57) |
0x39 (57) |
0x39 (57) |
0x39 (57) |
||||||||||||||||
"Digit0" |
0x30 (48) |
0x30 (48) |
0x30 (48) |
0x30 (48) |
0x30 (48) |
0x30 (48) |
0x30 (48) |
0x30 (48) |
||||||||||||||||
"KeyA" |
0x41 (65) |
0x41 (65) |
0x41 (65) |
0x41 (65) |
0x41 (65) |
0x41 (65) |
0x41 (65) |
0x41 (65) |
||||||||||||||||
"KeyB" |
0x42 (66) |
0x42 (66) |
0x42 (66) |
0x42 (66) |
0x42 (66) |
0x42 (66) |
0x42 (66) |
0x42 (66) |
||||||||||||||||
"KeyC" |
0x43 (67) |
0x43 (67) |
0x43 (67) |
0x43 (67) |
0x43 (67) |
0x43 (67) |
0x43 (67) |
0x43 (67) |
||||||||||||||||
"KeyD" |
0x44 (68) |
0x44 (68) |
0x44 (68) |
0x44 (68) |
0x44 (68) |
0x44 (68) |
0x44 (68) |
0x44 (68) |
||||||||||||||||
"KeyE" |
0x45 (69) |
0x45 (69) |
0x45 (69) |
0x45 (69) |
0x45 (69) |
0x45 (69) |
0x45 (69) |
0x45 (69) |
||||||||||||||||
"KeyF" |
0x46 (70) |
0x46 (70) |
0x46 (70) |
0x46 (70) |
0x46 (70) |
0x46 (70) |
0x46 (70) |
0x46 (70) |
||||||||||||||||
"KeyG" |
0x47 (71) |
0x47 (71) |
0x47 (71) |
0x47 (71) |
0x47 (71) |
0x47 (71) |
0x47 (71) |
0x47 (71) |
||||||||||||||||
"KeyH" |
0x48 (72) |
0x48 (72) |
0x48 (72) |
0x48 (72) |
0x48 (72) |
0x48 (72) |
0x48 (72) |
0x48 (72) |
||||||||||||||||
"KeyI" |
0x49 (73) |
0x49 (73) |
0x49 (73) |
0x49 (73) |
0x49 (73) |
0x49 (73) |
0x49 (73) |
0x49 (73) |
||||||||||||||||
"KeyJ" |
0x4A (74) |
0x4A (74) |
0x4A (74) |
0x4A (74) |
0x4A (74) |
0x4A (74) |
0x4A (74) |
0x4A (74) |
||||||||||||||||
"KeyK" |
0x4B (75) |
0x4B (75) |
0x4B (75) |
0x4B (75) |
0x4B (75) |
0x4B (75) |
0x4B (75) |
0x4B (75) |
||||||||||||||||
"KeyL" |
0x4C (76) |
0x4C (76) |
0x4C (76) |
0x4C (76) |
0x4C (76) |
0x4C (76) |
0x4C (76) |
0x4C (76) |
||||||||||||||||
"KeyM" |
0x4D (77) |
0x4D (77) |
0x4D (77) |
0x4D (77) |
0x4D (77) |
0x4D (77) |
0x4D (77) |
0x4D (77) |
||||||||||||||||
"KeyN" |
0x4E (78) |
0x4E (78) |
0x4E (78) |
0x4E (78) |
0x4E (78) |
0x4E (78) |
0x4E (78) |
0x4E (78) |
||||||||||||||||
"KeyO" |
0x4F (79) |
0x4F (79) |
0x4F (79) |
0x4F (79) |
0x4F (79) |
0x4F (79) |
0x4F (79) |
0x4F (79) |
||||||||||||||||
"KeyP" |
0x50 (80) |
0x50 (80) |
0x50 (80) |
0x50 (80) |
0x50 (80) |
0x50 (80) |
0x50 (80) |
0x50 (80) |
||||||||||||||||
"KeyQ" |
0x51 (81) |
0x51 (81) |
0x51 (81) |
0x51 (81) |
0xBA (186)⚠️ |
0x51 (81) |
0x51 (81) |
0xBA (186)⚠️ |
0x51 (81) |
0x51 (81) |
0xBA (186)⚠️ |
0x51 (81) |
0x51 (81) |
0x51 (81) |
0xBA (186)⚠️ |
0x51 (81) |
||||||||
"KeyR" |
0x52 (82) |
0x52 (82) |
0x52 (82) |
0x52 (82) |
0x52 (82) |
0x52 (82) |
0x52 (82) |
0x52 (82) |
||||||||||||||||
"KeyS" |
0x53 (83) |
0x53 (83) |
0x53 (83) |
0x53 (83) |
0x53 (83) |
0x53 (83) |
0x53 (83) |
0x53 (83) |
||||||||||||||||
"KeyT" |
0x54 (84) |
0x54 (84) |
0x54 (84) |
0x54 (84) |
0x54 (84) |
0x54 (84) |
0x54 (84) |
0x54 (84) |
||||||||||||||||
"KeyU" |
0x55 (85) |
0x55 (85) |
0x55 (85) |
0x55 (85) |
0x55 (85) |
0x55 (85) |
0x55 (85) |
0x55 (85) |
||||||||||||||||
"KeyV" |
0x56 (86) |
0x56 (86) |
0x56 (86) |
0x56 (86) |
0x56 (86) |
0x56 (86) |
0x56 (86) |
0x56 (86) |
||||||||||||||||
"KeyW" |
0x57 (87) |
0x57 (87) |
0x57 (87) |
0x57 (87) |
0x57 (87) |
0x57 (87) |
0x57 (87) |
0x57 (87) |
||||||||||||||||
"KeyX" |
0x58 (88) |
0x58 (88) |
0x58 (88) |
0x58 (88) |
0x58 (88) |
0x58 (88) |
0x58 (88) |
0x58 (88) |
||||||||||||||||
"KeyY" |
0x59 (89) |
0x59 (89) |
0x59 (89) |
0x59 (89) |
0x59 (89) |
0x59 (89) |
0x59 (89) |
0x59 (89) |
||||||||||||||||
"KeyZ" |
0x5A (90) |
0x5A (90) |
0x5A (90) |
0x5A (90) |
0x5A (90) |
0x5A (90) |
0x5A (90) |
0x5A (90) |
||||||||||||||||
KeyboardEvent.code
|
美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 |
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |||||||||||||||||
| Internet Explorer 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||||||||||||||||||
KeyboardEvent.code |
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows (10.9) | Mac (10.9) | Linux (Ubuntu 14.04) | |||||||||||||||||
| 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | |
"逗号" |
0xBC (188) |
0xBC (188) |
0xBC (188) |
0xBC (188) |
0xBC (188) |
0xBC (188) |
0xBC (188) |
0xBC (188) |
||||||||||||||||
"逗号" 和 Shift |
||||||||||||||||||||||||
"句号" |
0xBE (190) |
0xBE (190) |
0xBE (190) |
0xBE (190) |
0xBE (190) |
0xBE (190) |
0xBE (190) |
0xBE (190) |
||||||||||||||||
"句号" 和 Shift |
||||||||||||||||||||||||
"分号" |
0xBA (186) |
0xBB (187)⚠️ |
0xBA (186) |
0xBA (186) |
0xBB (187)⚠️ |
0xBA (186) |
0xBA (186) |
0xBA (186) [1] |
0xE5 (229)⚠️ [2] |
0xBA (186) |
0xBA (186) |
0xE5 (229)⚠️ [3] |
0xBA (186) |
0xBA (186) [1] |
0xE5 (229)⚠️ [2] |
0x3B (59) |
0x3B (59) |
0x00 (0)⚠️ |
0x3B (59) |
0x3B (59) [1] |
0x00 (0)⚠️ |
0x3B (59) |
0x3B (59) |
0x00 (0)⚠️ |
"分号" 和 Shift |
0xBB (187)⚠️ [1] |
0xBB (187)⚠️ |
0xBB (187)⚠️ [1] |
|||||||||||||||||||||
"引号" |
0xDE (222) |
0xBA (186)⚠️ |
0xDE (222) |
0xDE (222) |
0xBA (186)⚠️ |
0xDE (222) |
0xDE (222) |
0xBA (186)⚠️ [1] |
0xDE (222) |
0xDE (222) |
0xBA (186)⚠️ |
0xDE (222) |
0xDE (222) |
0xBA (186)⚠️ [1] |
0xDE (222) |
0xDE (222) |
0x3A (58)⚠️ |
0xDE (222) |
0xDE (222) |
0x3A (58)⚠️ [1] |
0xDE (222) |
0xDE (222) |
0x3A (58)⚠️ |
0xDE (222) |
"引号" 和 Shift |
0xDE (222)⚠️ [1] |
0x38 (56)⚠️ |
0xDE (222)⚠️ [1] |
|||||||||||||||||||||
"左方括号" |
0xDB (219) |
0xC0(192)⚠️ |
0xDB (219) |
0xDB (219) |
0xC0(192)⚠️ |
0xDB (219) |
0xDB (219) |
0xDB (219) [1] |
0xDB (219) |
0xDB (219) |
0x32 (50)⚠️ |
0xDB (219) |
0xDB (219) |
0xDB (219) [1] |
0xDB (219) |
0xDB (219) |
0x40 (64)⚠️ |
0xDB (219) |
0xDB (219) |
0x40 (64)⚠️ [1] |
0xDB (219) |
0xDB (219) |
0x40 (64)⚠️ |
0xDB (219) |
"左方括号" 和 Shift |
0xC0 (192)⚠️ [1] |
0xC0 (192)⚠️ |
0xC0 (192)⚠️ [1] |
|||||||||||||||||||||
"右方括号" |
0xDD (221) |
0xDB (219)⚠️ |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ [1] |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ [1] |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ [1] |
0xDD (221) |
0xDD (221) |
0xDB (219)⚠️ |
0xDD (221) |
"右方括号" 和 Shift |
||||||||||||||||||||||||
"反引号" |
0xC0 (192) |
❌ 不适用 |
0xC0 (192) |
0xC0 (192) |
❌ 不适用 |
0xC0 (192) |
0xC0 (192) |
0xC0 (192) |
0xF4 (244)⚠️ |
0xC0 (192) |
0xC0 (192) |
0xC0 (192) |
❌ 不适用 |
0xC0 (192) |
0xC0 (192) |
0xC0 (192) |
0x00 (0) |
0xC0 (192) |
||||||
"反引号" 和 Shift |
||||||||||||||||||||||||
"反斜杠" |
0xDC (220) |
0xDD (221)⚠️ |
0xDC (220) |
0xDC (220) |
0xDD (221)⚠️ |
0xDC (220) |
0xDC (220) |
0xDC (220) |
0xDD (221)⚠️ |
0xDC (220) |
0xDC (220) |
0xDC (220) |
0xDD (221)⚠️ |
0xDC (220) |
0xDC (220) |
0xDC (220) |
0xDD (221)⚠️ |
0xDC (220) |
||||||
"反斜杠" 和 Shift |
||||||||||||||||||||||||
"减号" |
0xBD (189) |
0xBD (189) |
0xBD (189) |
0xBD (189) [1] |
0xBD (189) |
0xBD (189) |
0xBD (189) |
0xBD (189) |
0xBD (189) |
0xBD (189) [1] |
0xBD (189) |
0xAD (173) |
0xAD (173) |
0xAD (173) [1] |
0xAD (173) |
0xAD (173) |
||||||||
"减号" 和 Shift |
0xBB (187)⚠️ [1] |
0xBB (187)⚠️ |
0xBD (189) |
0xBB (187)⚠️ [1] |
0xBD (189) |
|||||||||||||||||||
"等号" |
0xBB (187) |
0xDE (222)⚠️ |
0xBB (187) |
0xBB (187) |
0xDE (222)⚠️ |
0xBB (187) |
0xBB (187) |
0xBB (187) [1] |
0xBB (187) |
0xBB (187) |
0x36 (54)⚠️ |
0xBB (187) |
0xBB (187) |
0xBB (187) [1] |
0xBB (187) |
0x3D (61) |
0xA0 (160)⚠️ |
0x3D (61) |
0x3D (61) |
0xA0 (160)⚠️ [1] |
0x3D (61) |
0x3D (61) |
0xA0 (160)⚠️ |
0x3D (61) |
"等号" 和 Shift |
0xC0 (192)⚠️ [1] |
0xC0 (192)⚠️ |
0xBB (187) |
0xC0 (192)⚠️ [1] |
0xBB (187) |
|||||||||||||||||||
"国际漫游键" |
0xC1 (193) |
0xE2 (226)⚠️ |
0xC1 (193) |
0xC1 (193) |
0xE2 (226)⚠️ |
0xC1 (193) |
0xBD (189) |
0xBD (189) |
0x00 (0)⚠️ |
[4] | 0xDC (220)⚠️ |
[4] | 0xBD (189) |
0xBD (189) |
0xE5 (229)⚠️ [5] |
0x00 (0) |
0xDC (220)⚠️ |
0x00 (0) |
0xA7 (167) |
0xA7 (167) |
0x00 (0) |
0x00 (0) |
0xDC (220)⚠️ |
0x00 (0) |
"国际漫游键" 和 Shift |
||||||||||||||||||||||||
"国际日元键" |
0xFF (255) |
0xDC (220)⚠️ |
0xFF (255) |
0xFF (255) |
0xDC (220)⚠️ |
0xFF (255) |
0x00 (0)⚠️ |
0x00 (0)⚠️ |
0x00 (0)⚠️ |
[4] | 0xDC (220)⚠️ |
[4] | 0x00 (0)⚠️ |
0x00 (0)⚠️ |
0xE5 (229)⚠️ [5] |
0x00 (0)⚠️ |
0xDC (220)⚠️ |
0x00 (0)⚠️ |
0xDC (220) |
0xDC (220) |
0x00 (0)⚠️ |
0x00 (0)⚠️ |
0xDC (220)⚠️ |
0x00 (0)⚠️ |
"国际日元键" 和 Shift |
0xDC (220) |
0xDC (220) |
0xBD (189)⚠️ |
0xDC (220) |
0xDC (220) |
|||||||||||||||||||
KeyboardEvent.code
|
美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 | 美国 | 日语 | 希腊语 |
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |||||||||||||||||
| Internet Explorer 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||||||||||||||||||
[1] 该值从 JIS 键盘输入。当您使用 ANSI 键盘时,keyCode 值和输入的字符与您从美国键盘布局中选择的相同。
[2] 该键是一个死键。keyup 事件的值为 0xBA (186)。
[3] 该键是一个死键。keyup 事件的值为 0x10 (16)。
[4] 未触发任何按键事件。
[5] 该键在希腊语键盘布局中不可用(不输入任何字符)。keyup 事件的值为 0x00 (0)。
不可打印的键(功能键)
KeyboardEvent.code
|
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||
|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |
"AltLeft" |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
"AltRight" |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
0x12 (18) |
当它是 "AltGraph" 键时的 "AltRight" |
[1] | [1] | ❌不适用 | 0xE1 (225)⚠️ |
❌ 不适用 | [1] | ❌ 不适用 | 0xE1 (225)⚠️ |
"CapsLock" |
0x14 (20) [2] |
0x14 (20) [2] |
0x14 (20) |
0x14 (20) |
0x14 (20) |
0x14 (20) [2] |
0x14 (20) |
0x14 (20) [3] |
"ControlLeft" |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
"ControlRight" |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
0x11 (17) |
"MetaLeft" |
0x5B (91) |
0x5B (91) |
0x5B (91) |
0x5B (91) |
0x5B (91) |
0x5B (91) |
0xE0 (224)⚠️ |
0x5B (91) |
"MetaRight" |
0x5C (92) |
0x5C (92) |
0x5D (93)⚠️ |
0x5C (92) |
0x5D (93)⚠️ |
0x5B (91)⚠️ |
0xE0 (224)⚠️ |
0x5B (91)⚠️ |
"ShiftLeft" |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
"ShiftRight" |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
0x10 (16) |
KeyboardEvent.code
|
Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) |
| IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||
[1] 在 Windows 上,按 AltGraph 键会同时触发 "ControlLeft" 和 "AltRight" 键事件。
[2] 当日文键盘布局处于活动状态时,不按 Shift 键而按 CapsLock 键会产生 0xF0 (240)。该键作为标签为 "英数" 的 字母数字 键工作。
[3] 当日文键盘布局处于活动状态时,不按 Shift 键而按 "CapsLock" 键会产生 0x00 (0)。该键作为标签为 "英数" 的 "字母数字" 键工作。
KeyboardEvent.code
|
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||
|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |
"ContextMenu" |
0x5D (93) |
0x5D (93) |
0x00 (0)⚠️ [1] |
0x5D (93) |
0x00 (0)⚠️ [1] |
0x5D (93) |
0x5D (93) |
0x5D (93) |
"Enter" |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
"空格键" |
0x20 (32) |
0x20 (32) |
0x20 (32) |
0x20 (32) |
0x20 (32) |
0x20 (32) |
0x20 (32) |
0x20 (32) |
"Tab" |
0x09 (9) |
0x09 (9) |
0x09 (9) |
0x09 (9) |
0x09 (9) |
0x09 (9) |
0x09 (9) |
0x09 (9) |
"Delete" |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
"End" |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
"Help" |
❌ 不适用 | ❌ 不适用 | 0x2D (45)⚠️ [2] |
0x2F (47)⚠️ [3] |
0x2D (45)⚠️ [2] |
❌ 不适用 | 0x2D (45)⚠️ [2] |
0x06 (6)⚠️ [3] |
"Home" |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
"Insert" |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
"PageDown" |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
"PageUp" |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
"ArrowDown" |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
"ArrowLeft" |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
"ArrowRight" |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
"ArrowUp" |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
"Escape" |
0x1B (27) |
0x1B (27) |
0x1B (27) |
0x1B (27) |
0x1B (27) |
0x1B (27) |
0x1B (27) |
0x1B (27) |
"PrintScreen" |
0x2C (44) [4] |
0x2C (44) [4] |
0x7C (124)⚠️ [5] |
0x2A (42)⚠️ |
0x7C (124)⚠️ [5] |
0x2C (44) [4] |
0x2C (44) |
0x2A (42)⚠️ |
"ScrollLock" |
0x91 (145) |
0x91 (145) |
0x7D (125)⚠️ [5] |
0x91 (145) |
0x7D (125)⚠️ [5] |
0x91 (145) |
0x91 (145) |
0x91 (145) |
"Pause" |
0x13 (19) [6] |
0x13 (19) [6] |
0x7E (126)⚠️ [5] |
0x13 (19) |
0x7E (126)⚠️ [5] |
0x13 (19) [6] |
0x13 (19) |
0x13 (19) |
KeyboardEvent.code
|
Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) |
| IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||
[1] 触发了一个 keypress 事件,其 keyCode 和 charCode 为 0x10 (16),但文本实际上并未输入到编辑器中。
[2] 在 Mac 上,Help 键映射到 PC 键盘的 Insert 键。这些 keyCode 值与 Insert 键的 keyCode 值相同。
[3] 在 Fedora 20 上测试。
[4] 仅触发 keyup 事件。
[5] PC 的 PrintScreen、ScrollLock 和 Pause 分别映射到 Mac 的 F13、F14 和 F15。Chrome 和 Safari 将它们映射到与 Mac 键相同的 keyCode 值。
[6] Pause 键与 Control 键结合会生成 0x03 (3)。
KeyboardEvent.code
|
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||
|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |
"F1" |
0x70 (112) |
0x70 (112) |
0x70 (112) |
0x70 (112) |
0x70 (112) |
0x70 (112) |
0x70 (112) |
0x70 (112) |
"F2" |
0x71 (113) |
0x71 (113) |
0x71 (113) |
0x71 (113) |
0x71 (113) |
0x71 (113) |
0x71 (113) |
0x71 (113) |
"F3" |
0x72 (114) |
0x72 (114) |
0x72 (114) |
0x72 (114) |
0x72 (114) |
0x72 (114) |
0x72 (114) |
0x72 (114) |
"F4" |
0x73 (115) |
0x73 (115) |
0x73 (115) |
0x73 (115) |
0x73 (115) |
0x73 (115) |
0x73 (115) |
0x73 (115) |
"F5" |
0x74 (116) |
0x74 (116) |
0x74 (116) |
0x74 (116) |
0x74 (116) |
0x74 (116) |
0x74 (116) |
0x74 (116) |
"F6" |
0x75 (117) |
0x75 (117) |
0x75 (117) |
0x75 (117) |
0x75 (117) |
0x75 (117) |
0x75 (117) |
0x75 (117) |
"F7" |
0x76 (118) |
0x76 (118) |
0x76 (118) |
0x76 (118) |
0x76 (118) |
0x76 (118) |
0x76 (118) |
0x76 (118) |
"F8" |
0x77 (119) |
0x77 (119) |
0x77 (119) |
0x77 (119) |
0x77 (119) |
0x77 (119) |
0x77 (119) |
0x77 (119) |
"F9" |
0x78 (120) |
0x78 (120) |
0x78 (120) |
0x78 (120) |
0x78 (120) |
0x78 (120) |
0x78 (120) |
0x78 (120) |
"F10" |
0x79 (121) |
0x79 (121) |
0x79 (121) |
0x79 (121) |
0x79 (121) |
0x79 (121) |
0x79 (121) |
0x79 (121) |
"F11" |
0x7A (122) |
0x7A (122) |
0x7A (122) |
0x7A (122) |
0x7A (122) |
0x7A (122) |
0x7A (122) |
0x7A (122) |
"F12" |
0x7B (123) |
0x7B (123) |
0x7B (123) |
0x7B (123) |
0x7B (123) |
0x7B (123) |
0x7B (123) |
0x7B (123) |
"F13" |
0x7C (124) |
0x7C (124) |
0x7C (124) |
0x7C (124) [1] |
0x7C (124) |
0x7C (124) |
0x2C (44) ⚠️ [2] |
0x00 (0)⚠️ [3] |
"F14" |
0x7D (125) |
0x7D (125) |
0x7D (125) |
0x7D (125) [1] |
0x7D (125) |
0x7D (125) |
0x91 (145) ⚠️ [2] |
0x00 (0)⚠️ [3] |
"F15" |
0x7E (126) |
0x7E (126) |
0x7E (126) |
0x7E (126) [1] |
0x7E (126) |
0x7E (126) |
0x13 (19) ⚠️ [2] |
0x00 (0)⚠️ [3] |
"F16" |
0x7F (127) |
0x7F (127) |
0x7F (127) |
0x7F (127) [1] |
0x7F (127) |
0x7F (127) |
0x7F (127) |
0x00 (0)⚠️ [3] |
"F17" |
0x80 (128) |
0x80 (128) |
0x80 (128) |
0x80 (128) [1] |
0x80 (128) |
0x80 (128) |
0x80 (128) |
0x00 (0)⚠️ [3] |
"F18" |
0x81 (129) |
0x81 (129) |
0x81 (129) |
0x81 (129) [1] |
0x81 (129) |
0x81 (129) |
0x81 (129) |
0x00 (0)⚠️ [3] |
"F19" |
0x82 (130) |
0x82 (130) |
0x82 (130) |
❌ 不适用 [4] |
0x82 (130) |
0x82 (130) |
0x82 (130) |
0x00 (0)⚠️ [3] |
"F20" |
0x83 (131) |
0x83 (131) |
0x83 (131) |
❌ 不适用 [4] |
0xE5 (229)⚠️ [5] |
0x83 (131) |
0x00 (0)⚠️ |
❌ 不适用 [6] |
"F21" |
0x84 (132) |
0x84 (132) |
0x00 (0)⚠️ [7] |
❌ 不适用 [4] |
0x00 (0)⚠️ [7] |
0x84 (132) |
❌ 不适用 [8] |
❌ 不适用 [6] |
"F22" |
0x85 (133) |
0x85 (133) |
0x00 (0)⚠️ [7] |
❌ 不适用 [4] |
0x00 (0)⚠️ [7] |
0x85 (133) |
❌ 不适用 [8] |
❌ 不适用 [6] |
"F23" |
0x86 (134) |
0x86 (134) |
0x00 (0)⚠️ [7] |
❌ 不适用 [4] |
0x00 (0)⚠️ [7] |
0x86 (134) |
❌ 不适用 [8] |
❌ 不适用 [6] |
"F24" |
0x87 (135) |
0x87 (135) |
0x00 (0)⚠️ [7] |
❌ 不适用 [4] |
0x00 (0)⚠️ [7] |
0x87 (135) |
❌ 不适用 [8] |
0x00 (0)⚠️ [3] |
KeyboardEvent.code
|
Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) |
| IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||
[1] 在 Fedora 20 上测试。
[2] 在 PC 上,PrintScreen、ScrollLock 和 Pause 分别映射到 Mac 的 F13、F14 和 F15。Firefox 为它们设置了与 PC 键相同的 keyCode 值。
[3] 在 Fedora 20 上测试。这些键不会导致 GDK_Fxx 键符号。如果这些键导致正确的键符号,这些值必须与 IE 相同。
[4] 在 Fedora 20 上测试。这些键在 Chromium 上不会导致 DOM 键事件。
[5] keyUp 事件的 keyCode 值为 0x83 (131)。
[6] 在 Fedora 20 上测试。这些键在 Firefox 上不会导致 DOM 键事件。
[7] 仅触发 keydown 事件。
[8] Firefox 上未触发任何 DOM 键事件。
数字键盘键
KeyboardEvent.code
|
IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | |||
|---|---|---|---|---|---|---|---|---|
| Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | |
"NumLock" |
0x90 (144) |
0x90 (144) |
0x0C (12)⚠️ [1] |
0x90 (144) |
0x0C (12)⚠️ [1] |
0x90 (144) |
0x0C (12)⚠️ [1] |
0x90 (144) |
"数字键盘0" |
0x60 (96) |
0x60 (96) |
0x60 (96) |
0x60 (96) |
0x60 (96) |
0x60 (96) |
0x60 (96) |
0x60 (96) |
"数字键盘1" |
0x61 (97) |
0x61 (97) |
0x61 (97) |
0x61 (97) |
0x61 (97) |
0x61 (97) |
0x61 (97) |
0x61 (97) |
"数字键盘2" |
0x62 (98) |
0x62 (98) |
0x62 (98) |
0x62 (98) |
0x62 (98) |
0x62 (98) |
0x62 (98) |
0x62 (98) |
"数字键盘3" |
0x63 (99) |
0x63 (99) |
0x63 (99) |
0x63 (99) |
0x63 (99) |
0x63 (99) |
0x63 (99) |
0x63 (99) |
"数字键盘4" |
0x64 (100) |
0x64 (100) |
0x64 (100) |
0x64 (100) |
0x64 (100) |
0x64 (100) |
0x64 (100) |
0x64 (100) |
"数字键盘5" |
0x65 (101) |
0x65 (101) |
0x65 (101) |
0x65 (101) |
0x65 (101) |
0x65 (101) |
0x65 (101) |
0x65 (101) |
"数字键盘6" |
0x66 (102) |
0x66 (102) |
0x66 (102) |
0x66 (102) |
0x66 (102) |
0x66 (102) |
0x66 (102) |
0x66 (102) |
"数字键盘7" |
0x67 (103) |
0x67 (103) |
0x67 (103) |
0x67 (103) |
0x67 (103) |
0x67 (103) |
0x67 (103) |
0x67 (103) |
"数字键盘8" |
0x68 (104) |
0x68 (104) |
0x68 (104) |
0x68 (104) |
0x68 (104) |
0x68 (104) |
0x68 (104) |
0x68 (104) |
"数字键盘9" |
0x69 (105) |
0x69 (105) |
0x69 (105) |
0x69 (105) |
0x69 (105) |
0x69 (105) |
0x69 (105) |
0x69 (105) |
"数字键盘加号" |
0x6B (107) |
0x6B (107) |
0x6B (107) |
0x6B (107) |
0x6B (107) |
0x6B (107) |
0x6B (107) |
0x6B (107) |
"数字键盘逗号" 输入 "," |
0xC2 (194) |
0xC2 (194) |
0xBC (188)⚠️ |
❌ 始终输入 "." |
0xBC (188)⚠️ |
0xC2 (194) |
0x6C (108)⚠️ |
❌ 始终输入 "." |
"数字键盘逗号" 输入 "." 或空字符串 |
0xC2 (194) |
0xC2 (194) |
0xBE (190)⚠️ |
0x6E (110)⚠️ |
0xBE (190)⚠️ |
0xC2 (194) |
0x6C (108)⚠️ |
0x6E (110)⚠️ |
"数字键盘小数点" 输入 "." |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6E (110) |
"数字键盘小数点" 输入 "," |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6C (108)⚠️ |
0x6E (110) |
0x6E (110) |
0x6E (110) |
0x6C (108)⚠️ |
"数字键盘除号" |
0x6F (111) |
0x6F (111) |
0x6F (111) |
0x6F (111) |
0x6F (111) |
0x6F (111) |
0x6F (111) |
0x6F (111) |
"数字键盘回车" |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
0x0D (13) |
"数字键盘等号" |
0x0C (12) |
0x0C (12) |
0xBB (187)⚠️ |
0xBB (187)⚠️ |
0xBB (187)⚠️ |
0x0C (12) |
0x3D (61)⚠️ |
0x3D (61)⚠️ |
"数字键盘乘号" |
0x6A (106) |
0x6A (106) |
0x6A (106) |
0x6A (106) |
0x6A (106) |
0x6A (106) |
0x6A (106) |
0x6A (106) |
"数字键盘减号" |
0x6D (109) |
0x6D (109) |
0x6D (109) |
0x6D (109) |
0x6D (109) |
0x6D (109) |
0x6D (109) |
0x6D (109) |
KeyboardEvent.code
|
Windows | Windows | Mac (10.9) | Linux (Ubuntu 14.04) | Mac (10.9) | Windows | Mac (10.9) | Linux (Ubuntu 14.04) |
| IE 11 | Google Chrome 34 | Chromium 34 | Safari 7 | Gecko 29 | ||||
[1] "NumLock" 键在 Mac 上作为 "Clear" 键工作。
KeyboardEvent.code
|
IE 11 | Google Chrome 34 | Chromium 34 | Gecko 29 | |
|---|---|---|---|---|---|
| Windows | Windows | Linux (Ubuntu 14.04) | Windows | Linux (Ubuntu 14.04) | |
"数字键盘0" ("插入") |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
0x2D (45) |
"数字键盘1" ("结束") |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
0x23 (35) |
"数字键盘2" ("向下箭头") |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
0x28 (40) |
"数字键盘3" ("PageDown") |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
0x22 (34) |
"数字键盘4" ("向左箭头") |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
0x25 (37) |
"数字键盘5" |
0x0C (12) |
0x0C (12) |
0x0C (12) |
0x0C (12) |
0x0C (12) |
"数字键盘6" ("向右箭头") |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
0x27 (39) |
"数字键盘7" ("Home") |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
0x24 (36) |
"数字键盘8" ("向上箭头") |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
0x26 (38) |
"数字键盘9" ("PageUp") |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
0x21 (33) |
"数字键盘小数点" ("删除") |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
0x2E (46) |
KeyboardEvent.code
|
Windows | Windows | Linux (Ubuntu 14.04) | Windows | Linux (Ubuntu 14.04) |
| IE 11 | Google Chrome 34 | Chromium 34 | Gecko 29 | ||
注意:最近的 Mac 没有 NumLock 键,因此也没有其状态。这就是为什么解锁状态不可用的原因。
keyCode 值的常量
Gecko 在 KeyboardEvent 中定义了许多 keyCode 值,以便明确映射表。这些值对 Firefox 的附加组件开发者很有用,但在公共网页中并不那么有用。
| 常量 | 值 | 描述 |
|---|---|---|
DOM_VK_CANCEL |
0x03 (3) | 取消键。 |
DOM_VK_HELP |
0x06 (6) | 帮助键。 |
DOM_VK_BACK_SPACE |
0x08 (8) | 退格键。 |
DOM_VK_TAB |
0x09 (9) | Tab 键。 |
DOM_VK_CLEAR |
0x0C (12) | NumLock 解锁时数字键盘上的“5”键。或者在 Mac 上,位于 NumLock 键位置的清除键。 |
DOM_VK_RETURN |
0x0D (13) | 主键盘上的回车/Enter 键。 |
DOM_VK_ENTER |
0x0E (14) | 保留,但未使用。 已废弃 (已删除,参见 Firefox bug 969247。) |
DOM_VK_SHIFT |
0x10 (16) | Shift 键。 |
DOM_VK_CONTROL |
0x11 (17) | Control 键。 |
DOM_VK_ALT |
0x12 (18) | Alt(Mac 上的 Option)键。 |
DOM_VK_PAUSE |
0x13 (19) | 暂停键。 |
DOM_VK_CAPS_LOCK |
0x14 (20) | 大写锁定键。 |
DOM_VK_KANA |
0x15 (21) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_HANGUL |
0x15 (21) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_EISU |
0x 16 (22) | 日语 Mac 键盘上的“英数”键。 |
DOM_VK_JUNJA |
0x17 (23) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_FINAL |
0x18 (24) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_HANJA |
0x19 (25) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_KANJI |
0x19 (25) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_ESCAPE |
0x1B (27) | Escape 键。 |
DOM_VK_CONVERT |
0x1C (28) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_NONCONVERT |
0x1D (29) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_ACCEPT |
0x1E (30) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_MODECHANGE |
0x1F (31) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_SPACE |
0x20 (32) | 空格键。 |
DOM_VK_PAGE_UP |
0x21 (33) | Page Up 键。 |
DOM_VK_PAGE_DOWN |
0x22 (34) | Page Down 键。 |
DOM_VK_END |
0x23 (35) | End 键。 |
DOM_VK_HOME |
0x24 (36) | Home 键。 |
DOM_VK_LEFT |
0x25 (37) | 左箭头。 |
DOM_VK_UP |
0x26 (38) | 上箭头。 |
DOM_VK_RIGHT |
0x27 (39) | 右箭头。 |
DOM_VK_DOWN |
0x28 (40) | 下箭头。 |
DOM_VK_SELECT |
0x29 (41) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_PRINT |
0x2A (42) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_EXECUTE |
0x2B (43) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_PRINTSCREEN |
0x2C (44) | Print Screen 键。 |
DOM_VK_INSERT |
0x2D (45) | 插入键。 |
DOM_VK_DELETE |
0x2E (46) | 删除键。 |
DOM_VK_0 |
0x30 (48) | 标准按键位置的“0”键。 |
DOM_VK_1 |
0x31 (49) | 标准按键位置的“1”键。 |
DOM_VK_2 |
0x32 (50) | 标准按键位置的“2”键。 |
DOM_VK_3 |
0x33 (51) | 标准按键位置的“3”键。 |
DOM_VK_4 |
0x34 (52) | 标准按键位置的“4”键。 |
DOM_VK_5 |
0x35 (53) | 标准按键位置的“5”键。 |
DOM_VK_6 |
0x36 (54) | 标准按键位置的“6”键。 |
DOM_VK_7 |
0x37 (55) | 标准按键位置的“7”键。 |
DOM_VK_8 |
0x38 (56) | 标准按键位置的“8”键。 |
DOM_VK_9 |
0x39 (57) | 标准按键位置的“9”键。 |
DOM_VK_COLON |
0x3A (58) | 冒号(“:”)键。 |
DOM_VK_SEMICOLON |
0x3B (59) | 分号(“;”)键。 |
DOM_VK_LESS_THAN |
0x3C (60) | 小于号(“<”)键。 |
DOM_VK_EQUALS |
0x3D (61) | 等号(“=”)键。 |
DOM_VK_GREATER_THAN |
0x3E (62) | 大于号(“>”)键。 |
DOM_VK_QUESTION_MARK |
0x3F (63) | 问号(“?”)键。 |
DOM_VK_AT |
0x40 (64) | “@”符号键。 |
DOM_VK_A |
0x41 (65) | “A”键。 |
DOM_VK_B |
0x42 (66) | “B”键。 |
DOM_VK_C |
0x43 (67) | “C”键。 |
DOM_VK_D |
0x44 (68) | “D”键。 |
DOM_VK_E |
0x45 (69) | “E”键。 |
DOM_VK_F |
0x46 (70) | “F”键。 |
DOM_VK_G |
0x47 (71) | “G”键。 |
DOM_VK_H |
0x48 (72) | “H”键。 |
DOM_VK_I |
0x49 (73) | “I”键。 |
DOM_VK_J |
0x4A (74) | “J”键。 |
DOM_VK_K |
0x4B (75) | “K”键。 |
DOM_VK_L |
0x4C (76) | “L”键。 |
DOM_VK_M |
0x4D (77) | “M”键。 |
DOM_VK_N |
0x4E (78) | “N”键。 |
DOM_VK_O |
0x4F (79) | “O”键。 |
DOM_VK_P |
0x50 (80) | “P”键。 |
DOM_VK_Q |
0x51 (81) | “Q”键。 |
DOM_VK_R |
0x52 (82) | “R”键。 |
DOM_VK_S |
0x53 (83) | “S”键。 |
DOM_VK_T |
0x54 (84) | “T”键。 |
DOM_VK_U |
0x55 (85) | “U”键。 |
DOM_VK_V |
0x56 (86) | “V”键。 |
DOM_VK_W |
0x57 (87) | “W”键。 |
DOM_VK_X |
0x58 (88) | “X”键。 |
DOM_VK_Y |
0x59 (89) | “Y”键。 |
DOM_VK_Z |
0x5A (90) | “Z”键。 |
DOM_VK_WIN |
0x5B (91) | Windows 上的 Windows 徽标键。或 Linux 上的 Super 或 Hyper 键。 |
DOM_VK_CONTEXT_MENU |
0x5D (93) | 打开上下文菜单键。 |
DOM_VK_SLEEP |
0x5F (95) | Gecko 4.0 中添加了对该键码的 Linux 支持。 |
DOM_VK_NUMPAD0 |
0x60 (96) | 数字键盘上的“0”。 |
DOM_VK_NUMPAD1 |
0x61 (97) | 数字键盘上的“1”。 |
DOM_VK_NUMPAD2 |
0x62 (98) | 数字键盘上的“2”。 |
DOM_VK_NUMPAD3 |
0x63 (99) | 数字键盘上的“3”。 |
DOM_VK_NUMPAD4 |
0x64 (100) | 数字键盘上的“4”。 |
DOM_VK_NUMPAD5 |
0x65 (101) | 数字键盘上的“5”。 |
DOM_VK_NUMPAD6 |
0x66 (102) | 数字键盘上的“6”。 |
DOM_VK_NUMPAD7 |
0x67 (103) | 数字键盘上的“7”。 |
DOM_VK_NUMPAD8 |
0x68 (104) | 数字键盘上的“8”。 |
DOM_VK_NUMPAD9 |
0x69 (105) | 数字键盘上的“9”。 |
DOM_VK_MULTIPLY |
0x6A (106) | 数字键盘上的“*”。 |
DOM_VK_ADD |
0x6B (107) | 数字键盘上的“+”。 |
DOM_VK_SEPARATOR |
0x6C (108) | |
DOM_VK_SUBTRACT |
0x6D (109) | 数字键盘上的“-”。 |
DOM_VK_DECIMAL |
0x6E (110) | 数字键盘上的小数点。 |
DOM_VK_DIVIDE |
0x6F (111) | 数字键盘上的“/”。 |
DOM_VK_F1 |
0x70 (112) | F1 键。 |
DOM_VK_F2 |
0x71 (113) | F2 键。 |
DOM_VK_F3 |
0x72 (114) | F3 键。 |
DOM_VK_F4 |
0x73 (115) | F4 键。 |
DOM_VK_F5 |
0x74 (116) | F5 键。 |
DOM_VK_F6 |
0x75 (117) | F6 键。 |
DOM_VK_F7 |
0x76 (118) | F7 键。 |
DOM_VK_F8 |
0x77 (119) | F8 键。 |
DOM_VK_F9 |
0x78 (120) | F9 键。 |
DOM_VK_F10 |
0x79 (121) | F10 键。 |
DOM_VK_F11 |
0x7A (122) | F11 键。 |
DOM_VK_F12 |
0x7B (123) | F12 键。 |
DOM_VK_F13 |
0x7C (124) | F13 键。 |
DOM_VK_F14 |
0x7D (125) | F14 键。 |
DOM_VK_F15 |
0x7E (126) | F15 键。 |
DOM_VK_F16 |
0x7F (127) | F16 键。 |
DOM_VK_F17 |
0x80 (128) | F17 键。 |
DOM_VK_F18 |
0x81 (129) | F18 键。 |
DOM_VK_F19 |
0x82 (130) | F19 键。 |
DOM_VK_F20 |
0x83 (131) | F20 键。 |
DOM_VK_F21 |
0x84 (132) | F21 键。 |
DOM_VK_F22 |
0x85 (133) | F22 键。 |
DOM_VK_F23 |
0x86 (134) | F23 键。 |
DOM_VK_F24 |
0x87 (135) | F24 键。 |
DOM_VK_NUM_LOCK |
0x90 (144) | Num Lock 键。 |
DOM_VK_SCROLL_LOCK |
0x91 (145) | Scroll Lock 键。 |
DOM_VK_WIN_OEM_FJ_JISHO |
0x92 (146) | Windows 上的 OEM 特定键。这曾用于富士通 OASYS 上的“字典”键。 |
DOM_VK_WIN_OEM_FJ_MASSHOU |
0x93 (147) | Windows 上的 OEM 特定键。这曾用于富士通 OASYS 上的“取消注册单词”键。 |
DOM_VK_WIN_OEM_FJ_TOUROKU |
0x94 (148) | Windows 上的 OEM 特定键。这曾用于富士通 OASYS 上的“注册单词”键。 |
DOM_VK_WIN_OEM_FJ_LOYA |
0x95 (149) | Windows 上的 OEM 特定键。这曾用于富士通 OASYS 上的“左OYAYUBI”键。 |
DOM_VK_WIN_OEM_FJ_ROYA |
0x96 (150) | Windows 上的 OEM 特定键。这曾用于富士通 OASYS 上的“右OYAYUBI”键。 |
DOM_VK_CIRCUMFLEX |
0xA0 (160) | 尖号(“^”)键。 |
DOM_VK_EXCLAMATION |
0xA1 (161) | 感叹号(“!”)键。 |
DOM_VK_DOUBLE_QUOTE |
0xA2 (162) | 双引号(“"”)键。 |
DOM_VK_HASH |
0xA3 (163) | 井号(“#”)键。 |
DOM_VK_DOLLAR |
0xA4 (164) | 美元符号(“$”)键。 |
DOM_VK_PERCENT |
0xA5 (165) | 百分号(“%”)键。 |
DOM_VK_AMPERSAND |
0xA6 (166) | & 符号(“&”)键。 |
DOM_VK_UNDERSCORE |
0xA7 (167) | 下划线(“_”)键。 |
DOM_VK_OPEN_PAREN |
0xA8 (168) | 左括号(“(”)键。 |
DOM_VK_CLOSE_PAREN |
0xA9 (169) | 右括号(“)”)键。 |
DOM_VK_ASTERISK |
0xAA (170) | 星号(“*”)键。 |
DOM_VK_PLUS |
0xAB (171) | 加号(“+”)键。 |
DOM_VK_PIPE |
0xAC (172) | 竖线(“|”)键。 |
DOM_VK_HYPHEN_MINUS |
0xAD (173) | 连字符/减号(“-”)键。 |
DOM_VK_OPEN_CURLY_BRACKET |
0xAE (174) | 左花括号(“{”)键。 |
DOM_VK_CLOSE_CURLY_BRACKET |
0xAF (175) | 右花括号(“}”)键。 |
DOM_VK_TILDE |
0xB0 (176) | 波浪号(“~”)键。 |
DOM_VK_VOLUME_MUTE |
0xB5 (181) | 音频静音键。 |
DOM_VK_VOLUME_DOWN |
0xB6 (182) | 音频音量降低键 |
DOM_VK_VOLUME_UP |
0xB7 (183) | 音频音量升高键 |
DOM_VK_COMMA |
0xBC (188) | 逗号(“,”)键。 |
DOM_VK_PERIOD |
0xBE (190) | 句号(“.”)键。 |
DOM_VK_SLASH |
0xBF (191) | 斜杠(“/”)键。 |
DOM_VK_BACK_QUOTE |
0xC0 (192) | 反引号(“`”)键。 |
DOM_VK_OPEN_BRACKET |
0xDB (219) | 左方括号(“[”)键。 |
DOM_VK_BACK_SLASH |
0xDC (220) | 反斜杠(“\”)键。 |
DOM_VK_CLOSE_BRACKET |
0xDD (221) | 右方括号(“]”)键。 |
DOM_VK_QUOTE |
0xDE (222) | 单引号(“'”)键。 |
DOM_VK_META |
0xE0 (224) | Linux 上的 Meta 键,Mac 上的 Command 键。 |
DOM_VK_ALTGR |
0xE1 (225) | Linux 上的 AltGr 键(3 级 Shift 键或 5 级 Shift 键)。 |
DOM_VK_WIN_ICO_HELP |
0xE3 (227) | Windows 上的 OEM 特定键。这用于 (曾用于?) Olivetti ICO 键盘。 |
DOM_VK_WIN_ICO_00 |
0xE4 (228) | Windows 上的 OEM 特定键。这用于 (曾用于?) Olivetti ICO 键盘。 |
DOM_VK_WIN_ICO_CLEAR |
0xE6 (230) | Windows 上的 OEM 特定键。这用于 (曾用于?) Olivetti ICO 键盘。 |
DOM_VK_WIN_OEM_RESET |
0xE9 (233) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_JUMP |
0xEA (234) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_PA1 |
0xEB (235) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_PA2 |
0xEC (236) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_PA3 |
0xED (237) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_WSCTRL |
0xEE (238) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_CUSEL |
0xEF (239) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_ATTN |
0xF0 (240) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_FINISH |
0xF1 (241) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_COPY |
0xF2 (242) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_AUTO |
0xF3 (243) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_ENLW |
0xF4 (244) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_WIN_OEM_BACKTAB |
0xF5 (245) | Windows 上的 OEM 特定键。这用于诺基亚/爱立信设备。 |
DOM_VK_ATTN |
0xF6 (246) | IBM 中端计算机(例如 AS/400)的 Attn(注意)键。 |
DOM_VK_CRSEL |
0xF7 (247) | IBM 3270 键盘布局的 CrSel(光标选择)键。 |
DOM_VK_EXSEL |
0xF8 (248) | IBM 3270 键盘布局的 ExSel(扩展选择)键。 |
DOM_VK_EREOF |
0xF9 (249) | IBM 3270 键盘布局的 Erase EOF 键。 |
DOM_VK_PLAY |
0xFA (250) | IBM 3270 键盘布局的播放键。 |
DOM_VK_ZOOM |
0xFB (251) | 缩放键。 |
DOM_VK_PA1 |
0xFD (253) | IBM 3270 键盘布局的 PA1 键。 |
DOM_VK_WIN_OEM_CLEAR |
0xFE (254) | 清除键,但我们不确定与 DOM_VK_CLEAR 的含义区别。 |
示例
window.addEventListener("keydown", (event) => {
if (event.defaultPrevented) {
return; // Should do nothing if the default action has been cancelled
}
let handled = false;
if (event.key !== undefined) {
// Handle the event with KeyboardEvent.key
handled = true;
} else if (event.keyCode !== undefined) {
// Handle the event with KeyboardEvent.keyCode
handled = true;
}
if (handled) {
// Suppress "double action" if event handled
event.preventDefault();
}
});
规范
| 规范 |
|---|
| UI 事件 # dom-keyboardevent-keycode |
浏览器兼容性
加载中…
Windows 上的 OEM 特定键
在 Windows 上,虚拟键码的一些值是为 OEM 特定键定义(保留)的。它们可用于非标准键盘上的特殊键。换句话说,有些值被两个或更多供应商(或硬件)用于不同的含义。
从 Gecko 21(以及早于 15 的版本)开始,OEM 特定键值仅在 Windows 上的 keyCode 属性中可用。因此,它们对于通常的 Web 应用程序没有用。它们仅适用于内部网应用程序或类似情况。
有关详细信息,请参阅 MSDN 中“制造商特定虚拟键码 (Windows CE 5.0)”。