键盘事件包含onkeydown、onkeypress和onkeyup这三个事件
事件初始化
function keyDown(){} document.onkeydown = keyDown; //论按下键盘上的哪个键,都将调用KeyDown()函数。DOM标准下
function keyDown(e) { var keycode = e.which; //取得对应的键值(数字) var realkey = String.fromCharCode(e.which); //取得代表改键的真正字符 alert("按键码: " + keycode + " 字符: " + realkey); } document.onkeydown = keyDownIE下
function keyDown() { var keycode = event.keyCode; //IE下取得键值的方法 var realkey = String.fromCharCode(event.keyCode); alert("按键码: " + keycode + " 字符: " + realkey); } document.onkeydown = keyDown兼容的方法
function keyUp(e) { var currKey=0,e=e||event; currKey=e.keyCode||e.which||e.charCode; var keyName = String.fromCharCode(currKey); alert("按键码: " + currKey + " 字符: " + keyName); } document.onkeyup = keyUp;使用原则:keydown事件对于功能按键来说是最有用的,而keypress事件对于可打印按键来说是最有用的
以下键码值只有在文本框中才完全有效,如果在<body>标记中使用,只有字母键、数字键和部分控制键可用,其字母键和数字键的键值与ASCII值相同
字母和数字键的键码值(keyCode)
按键
键码A
65B
66C
67D
68E
69F
70G
71H
72I
73J
74K
75L
76M
77N
78O
79P
80Q
81R
82S
83T
84U
85V
86W
87X
88Y
89Z
900
481
492
503
514
525
536
547
558
569
57数字键盘上的键的键码值(keyCode)
功能键键码值(keyCode)按键
键码0
961
972
983
994
1005
1016
1027
1038
1049
105*
106+
107Enter
108-
109.
110/
111F1
112F2
113F3
114F4
115F5
116F6
117F7
118F8
119F9
120F10
121F11
122F12
123控制键键码值(keyCode)
按键
键码BackSpace
8Esc
27Right Arrow
39Left Arrow
37Down Arrow
40Up Arrow
38-_
189.>
190Spacebar
32Tab
9Clear
12Page Up
33Page Down
34Enter
13Insert
45;:
186Delete
46`~
192/?
191Num Lock
144Control
17Home
36End
35Shift
16[{
219}]
221\|
220=+
187,<
188'"
222Cape Lock
20Alt
18