键盘事件及 KeyCode 对照表
键盘事件
用户操作键盘时对应事件的 3 种类型:
-
keydown
:在键盘上按下某个键时触发。如果按住某个键,会不断触发该事件。该事件处理函数返回 false 时,会取消默认的动作。
-
keypress
:按下某个键盘键并释放时触发。如果按住某个键,会不断触发该事件。该事件处理函数返回 false 时,会取消默认的动作(如输入的键盘字符)。
-
keyup
:释放某个键盘键时触发。该事件仅在松开键盘时触发一次,不是一个持续的响应状态。
Tips: 某些浏览器不允许使用 keypress
事件获取按键信息。
| |
| |
| |
| document.onkeydown = function (e) { |
| |
| |
| |
| if (e.keyCode === 87) { |
| |
| |
| |
| } |
| |
| } |
| |
| |
| |
| document.addEventListener('keyup', function(e) { |
| |
| |
| |
| if (e.keyCode === 87) { |
| |
| |
| |
| } |
| |
| }) |
| |
键盘事件属性
属性 |
说明 |
keyCode |
该属性包含键盘中对应键位的键值 |
charCode |
该属性包含键盘中对应键位的 Unicode 编码,仅 DOM 支持 |
target |
发生事件的节点(包含元素),仅 DOM 支持 |
srcElement |
发生事件的元素,仅 IE 支持 |
shiftKey |
是否按下 Shift 键,如果按下返回 true,否则为false |
ctrlKey |
是否按下 Ctrl 键,如果按下返回 true,否则为false |
altKey |
是否按下 Alt 键,如果按下返回 true,否则为false |
metaKey |
是否按下 Mtea 键,如果按下返回 true,否则为false,仅 DOM 支持 |
键盘响应顺序
当按下键盘时,会连续触发多个事件,它们将按如下顺序发生。
- 对于字符键来说,键盘事件的响应顺序:
keydown
→ keypress
→ keyup
。
- 对于非字符键(如功能键或特殊键)来说,键盘事件的相应顺序:
keydown
→ keyup
。
- 如果按下字符键不放,则
keydown
和 keypress
事件将逐个持续发生,直至松开按键。
- 如果按下非字符键不放,则只有
keydown
事件持续发生,直至松开按键。
KeyCode 对照表
字母数字键键码值
按键 |
键码 |
按键 |
键码 |
按键 |
键码 |
按键 |
键码 |
A |
65 |
J |
74 |
S |
83 |
1 |
49 |
B |
66 |
K |
75 |
T |
84 |
2 |
50 |
C |
67 |
L |
76 |
U |
85 |
3 |
51 |
D |
68 |
M |
77 |
V |
86 |
4 |
52 |
E |
69 |
N |
78 |
W |
87 |
5 |
53 |
F |
70 |
O |
79 |
X |
88 |
6 |
54 |
G |
71 |
P |
80 |
Y |
89 |
7 |
55 |
H |
72 |
Q |
81 |
Z |
90 |
8 |
56 |
I |
73 |
R |
82 |
0 |
48 |
9 |
57 |
数字键盘键码值
按键 |
键码 |
按键 |
键码 |
0 |
96 |
8 |
104 |
1 |
97 |
9 |
105 |
2 |
98 |
* |
106 |
3 |
99 |
+ |
107 |
4 |
100 |
Enter |
|
5 |
101 |
- |
109 |
6 |
102 |
. |
110 |
7 |
103 |
/ |
111 |
功能键键码值
按键 |
键码 |
按键 |
键码 |
F1 |
112 |
F7 |
118 |
F2 |
113 |
F8 |
119 |
F3 |
114 |
F9 |
120 |
F4 |
115 |
F10 |
121 |
F5 |
116 |
F11 |
122 |
F6 |
117 |
F12 |
123 |
控制键键码值
按键 |
键码 |
按键 |
键码 |
按键 |
键码 |
按键 |
键码 |
BackSpace |
8 |
Esc |
27 |
Right Arrow |
39 |
-_ |
189 |
Tab |
9 |
Spacebar |
32 |
Dw Arrow |
40 |
.> |
190 |
Clear |
12 |
Page Up |
33 |
Insert |
45 |
/? |
191 |
Enter |
13 |
Page Down |
34 |
Delete |
46 |
`~ |
192 |
Shift |
16 |
End |
35 |
Num Lock |
144 |
[{ |
219 |
Control |
17 |
Home |
36 |
;: |
186 |
╲┆ |
220 |
Alt |
18 |
Left Arrow |
37 |
=+ |
187 |
]} |
221 |
Cape Lock |
20 |
Up Arrow |
38 |
,< |
188 |
'" |
222 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本