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

javascript之键盘事件的更多相关文章

  1. javascript的键盘事件大全

    javascript的键盘事件大全 ------------------------------------------------------------------- 使用event对象的keyC ...

  2. JavaScript 模拟键盘事件

    JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...

  3. JavaScript获取键盘事件

    JavaScript中: onkeydown 事件会在用户按下一个键盘按键时发生. onkeypress 事件会在键盘按键被按下并释放一个键时发生. onkeyup 事件会在键盘按键被松开时发生. 支 ...

  4. Javascript鼠标键盘事件

    鼠标事件click:单击dblclick:双击mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mousemove:鼠标移动mouseenter ...

  5. javascript之键盘事件的方法

    键盘事件包含onkeydown.onkeypress和onkeyup这三个事件 事件初始化 function keyDown(){} document.onkeydown = keyDown; //论 ...

  6. javascript/jquery键盘事件介绍

    一.首先需要知道的是:1.keydown()keydown事件会在键盘按下时触发.2.keyup()keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件3.keypress()keypres ...

  7. JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等)

    http://blog.csdn.net/lovelyelfpop/article/details/52471878# 封装好的function大概就是这样: function fireKeyEven ...

  8. javascript 键盘事件总结

    原文:http://www.cnblogs.com/rubylouvre/archive/2009/08/20/1550526.html#2583814 在进入正题前,我们看一下浏览器对于键盘的一些默 ...

  9. Javascript 键盘事件

    window.document.onkeydown = function (e) { var evt = window.event || e;//兼容性处理 var keycode = evt.key ...

随机推荐

  1. 特殊权限 SUID、SGID、Sticky

    摘录之----------QuintinX 一. 前提 本篇主要讲解SUID, SGID, Sticky三个权限的基本原理和应用. 为什么要使用特殊权限? 比如系统中假如有超过四类人然而每一类人都需要 ...

  2. jquery easyui datagrid数据自动换行 panel用法

    nowrap:false 初始化panel $('#txtLeftPercent').panel({ title: '剩余权重:' + percent, height: 10, width: 180, ...

  3. idea Library XXXXXXXX has broken classes paths

    点fix 然后全部 全部按- 删掉 一开始以为会影响很大 后来发现他地址错了都导不进 要是真要用到的时候也没用 还是要maven单独导进来

  4. Golang学习笔记:channel

    channel channel是goroutine之间的通信机制,它可以让一个goroutine通过它给另一个goroutine发送数据,每个channel在创建的时候必须指定一个类型,指定的类型是任 ...

  5. vue中的eventBus

    在vue2中,父子组件传递数据,父组件可以直接传递数据进子组件,而子组件通过调用父组件传递进来的方法,将自己的数据传递回去. 那兄弟组件之间,或者是兄弟组件的子组件之间如何传递呢? 当然vuex是一种 ...

  6. 解决Popup StayOpen=true时,永远置顶的问题

    Popup设置了StayOpen=true时,会置顶显示. 如弹出了Popup后,打开QQ窗口,Popup显示在QQ聊天界面之上. 怎么解决问题? 获取绑定UserControl所在的窗口,窗口层级变 ...

  7. java 需要准备的知识(转摘)

    需要准备的知识 以下为在近期面试中比较有印象的问题,也就不分公司了,因为没什么意义,大致分类记录一下,目前只想起这么多,不过一定要知道这些问题只是冰山一角,就算都会了也不能怎么样,最最重要的,还是坚实 ...

  8. 这是一个测试,测试markdown语法

    [TOC] 1. chpt1 这是一段话,前面没有空格 前面有4个空格,且在编辑状态下上面没有空行 前面有4个空格,且在编辑状态下上面有一个空行. 前面按了一下tab 1.1 1.1 2 段落1 前面 ...

  9. miracl去除某些特殊信息

    只需要在mirdef.h中增加定义 #define MR_STRIPPED_DOWN  即可在编译的时候,去掉错误信息 #define MIRACL 32 #define MR_LITTLE_ENDI ...

  10. Lucene总结

    数据的分类 结构化数据:有固定类型或者有固定长度的数据 例如:数据库中的数据(mysql,oracle等), 元数据(就是windows中的数据) 结构化数据搜索方法: 数据库中数据通过sql语句可以 ...