Js键盘事件全面控制,回车按键事件,键盘对应按键码,按键事件兼容各个浏览器。

在网上查询的按键码如下:

一、键盘按键和键盘对应代码表:
 
字母按键码
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
 
数字按键码
数字键盘 1 <--------> 96 数字键盘 2 <--------> 97 数字键盘 3 <--------> 98
数字键盘 4 <--------> 99 数字键盘 5 <--------> 100 数字键盘 6 <--------> 101
数字键盘 7 <--------> 102 数字键盘 8 <--------> 103 数字键盘 9 <--------> 104
数字键盘 0 <--------> 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
F13 <--------> 124 F14 <--------> 125 F15 <--------> 126
Backspace <--------> 8
Tab <--------> 9
Clear <--------> 12
Enter <--------> 13
Shift <--------> 16
Control <--------> 17
Alt <--------> 18
Caps Lock <--------> 20
Esc <--------> 27
空格键 <--------> 32
Page Up <--------> 33
Page Down <--------> 34
End <--------> 35
Home <--------> 36
左箭头 <--------> 37
向上箭头 <--------> 38
右箭头 <--------> 39
向下箭头 <--------> 40
Insert <--------> 45
Delete <--------> 46
Help <--------> 47
Num Lock <--------> 144
; : <--------> 186
= + <--------> 187
- _ <--------> 189
/ ? <--------> 191
` ~ <--------> 192
[ { <--------> 219
| <--------> 220
] } <--------> 221
'' ' <--------> 222
二、下面展示一个案例兼容性比较好的一段代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function keydownMsg(evt) {
            evt = (evt) ? evt : ((window.event) ? window.event : "")
            keyCode = evt.keyCode ? evt.keyCode : (evt.which ? evt.which : evt.charCode);
            if (keyCode == 13) {
                alert(document.getElementById("txtmsg").value);//回车键弹出文本框信息
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="txtmsg" onkeydown="keydownMsg(event)" type="text" />
    </div>
    </form>
</body>
</html>

三、10个用来处理键盘事件的JQuery插件和JS类库

   1、Mousetrap 
      Mousetrap是一个超简单的处理键盘快捷键的类库,压缩有只有1.6kb大小,并且不依赖任何的外部类库。你使用的主要就是绑定方法。它会帮助你绑定指定的键盘命令到一个callback方法中。并且拥有第三个参数来制定监听的事件类型。 可以是keypress,keydown或者keyup。任何被空格分隔的key会被认为是连续的。如果你你连续的输入key,最后一个输入key会触发callback。
 
   2、Jwerty
      jwerty是一个JS类库帮助你针对元素和事件来绑定,触发和声明输入键组合。它将难于使用的标准api生成更加清晰并且容易使用的格式。所有的jwerty事件都要求jwertycode。jwertycode可以以字符串或者数组传递,使用字符串可能是最简单的方式来生成组合。这个类库非常小,压缩后1.5kb,gzipped大概3kb。不依赖任何类库。兼容jQuery,zepto或者Ender。
 
   3、Keypress
      Keypress是一个输入捕捉类库,拥有一些特殊的特性。非常容易上手和使用,大概9kb,不依赖任何类库。可以开发非常简单或者高级的应用。这个类库针对keyup和keydown拥有一些回调函数。并且拥有选项来捕捉单次输入或者其它。
 
   4、KeyboardJS
      keyboardjs是一个标准的JS类库,处理键盘输入帮助我们理解按键输入并且生成行为。这个类库支持简单的组合按键并且支持不同LOCALE。针对press和release事件拥有回调函数
 
   5、Keymaster.js
      Keymaster是一个简单的迷你类库,用来定义和生成web应用中的键盘快捷键。不依赖任何类库。和其它类库同时使用不会有任何冲突。
 
   6、Kibo
      Kibo是一个简单的JS类库,用来处理键盘事件。没有任何依赖。Kibo的构建器拥有一个可选选项,一个用来定义事件句柄的HTML元素。
 
   7、Keymage
      Keyimage是一个简单的类库,用来处理键盘绑定。书写这个类库的目的是没有其它类库支持整合所有的特性,并且方便大家书写一个新的类库。
 
   8、Keycode.js
      这个类库标准化JS键盘码以便支持浏览器兼容。这个类库支持key对象,这些对象是js对象,用来记录键盘码是否被其它操作修改。使用hot_key()接受类似的对象,并且返回一个适合jQuery hotkey插件或者Binny VA's short.js类库。
 
   9、Open JS
      OpenJS允许你添加Keyboard快捷键到你的JS应用中。
 
   10、JavaScript Shortcuts Library
      一个帮助你快速创建快捷键的类库。
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/pingming/p/4115469.html