javascript之键盘事件

时间:2021-02-11 17:20:50


键盘事件包含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 = keyDown

IE下

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          
65

B          
66

C          
67

D          
68

E          
69

F          
70

G          
71

H          
72

I           
73

J           
74

K          
75

L          
76

M         
77

N          
78

O         
79

P          
80

Q         
81

R          
82

S          
83

T          
84

U          
85

V          
86

W         
87

X          
88

Y          
89

Z          
90

0          
48

1          
49

2          
50

3          
51

4          
52

5          
53

6          
54

7          
55

8          
56

9          
57

数字键盘上的键的键码值(keyCode)
功能键键码值(keyCode)

按键    
键码

0
     96

1          
97

2   
    
98

3          
99

4          
100

5          
101

6          
102

7          
103

8          
104

9          
105

*          
106

+          
107

Enter          
108

-           
109

.           
110

/           
111

F1        
112

F2        
113

F3        
114

F4        
115

F5        
116

F6        
117

F7        
118

F8        
119

F9        
120

F10             
121

F11             
122

F12             
123

控制键键码值(keyCode)

按键           
键码

BackSpace         
8

Esc
             27

Right Arrow       
39

Left Arrow
        37

Down Arrow             
40

Up Arrow           
38

-_         
189

.>
        190

Spacebar           
32

Tab             
9

Clear          
12

Page Up             
33

Page Down        
34

Enter          
13

Insert          
45

;:          
186

Delete        
46

`~         
192

/?         
191

Num Lock          
144

Control
    
17

Home         
36

End             
35

Shift            
16

[{          
219

}]          
221

\|         
220

=+        
187

,<         
188

'"          
222

Cape Lock          
20

Alt        
18