键盘事件包含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. [NOI2012]

    来自FallDream的博客,未经允许,请勿转载,谢谢. 一天一套noi 简直了.... 昨天勉强做完了noi2011 今天教练又丢出来一套noi2012  去掉提答还有5题 勉强做了3题  先占个坑 ...

  2. NTT+多项式求逆+多项式开方(BZOJ3625)

    定义多项式$h(x)$的每一项系数$h_i$,为i在c[1]~c[n]中的出现次数. 定义多项式$f(x)$的每一项系数$f_i$,为权值为i的方案数. 通过简单的分析我们可以发现:$f(x)=\fr ...

  3. 智能优化算法对TSP问题的求解研究

    要求: TSP 算法(Traveling Salesman Problem)是指给定 n 个城市和各个城市之间的距离,要 求确定一条经过各个城市当且仅当一次的最短路径,它是一种典型的优化组合问题,其最 ...

  4. c语言第二次作业2

    ---恢复内容开始--- (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. 源程序 对源程序进行编译 错误信息1: 错误原因:stdio.h输入错误 改正方法:i和d互换位置 错误信息2: ...

  5. java集合之ArrayList源码解读

    源自:jdk1.8.0_121 ArrayList继承自AbstractList,实现了List.RandomAccess.Cloneable.Serializable. ArrayList内部是通过 ...

  6. Mybatis中 collection 和 association 的区别

    public class A{ private B b1; private List<B> b2;} 在映射b1属性时用association标签,(一对一的关系) 映射b2时用colle ...

  7. Mysql中where条件一个单引号引发的性能损耗

    日常写SQL中可能会有一些小细节忽略了导致整个sql的性能下降了好几倍甚至几十倍,几百倍.以下这个示例就是mysql语句中的一个单引号('')引发的性能耗损,我相信很多朋友都遇到过,甚至还在这样写. ...

  8. eclipse安装和配置Gradle插件

    配置: 首先下载Gradle:https://gradle.org/gradle-download/ 设置Gradle环境变量: GRADLE_HOME %GRADLE_HOME%\bin" ...

  9. MySQL数据库常用操作入门

    一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...

  10. html学习中

    Html常用标签一 <body style="background-color:red;"> Body 标签 Style 属性 background-color:red ...