首页 > 代码库 > javascript之键盘事件

javascript之键盘事件



键盘事件包含onkeydownonkeypressonkeyup这三个事件

事件初始化

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

javascript之键盘事件