javascript捕获键盘组合事件

jsp页面需要捕获用户的键盘快捷键组合操作,网上找了不少代码,使用event.altKey && event.keyCode == 73判断,但在chrom和firefox下都不能正常起作用,debug调试时keyCode总是18。不知道是不是我使用的浏览器版本比较新。

发现下面个js组件,经测试能用,主要是代码特别少。jquery.shortcuts.min.js文件只有692个字节,1K都不到。我的浏览器版本Firefox/43.0.4,chrome/43.0.2357.81都能没问题。

https://github.com/ambethia/jquery-shortcuts

示例代码特别简单

$(document).shortcuts({
  "Q": {
    keys: [81],
    desc: "Log Q to the console",
    func: function() { console.log("You pressed Q") }
  },
  "ALT I": {
    keys: [18, 73],
    desc: "Log this key combination to the console",
    func: function() { console.log("You pressed ALT and I") }
  }
});

下面有介绍其他的JavaScript 键盘事件处理库:

http://www.cnblogs.com/lhb25/p/20-javascript-libraries-to-handle.html


最后附上,键盘中所有按钮的keycode一览 

字母和数字键的键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R82048957

数字键盘上的键的键码值(keyCode) 功能键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
0968104F1112F7118
1979105F2113F8119
298*106F3114F9120
399+107F4115F10121
4100Enter108F5116F11122
5101-109F6117F12123
6102.110    
7103/111    

控制键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
BackSpace8Esc27Right Arrow39-_189
Tab9Spacebar32Down Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[{219
Control17Home36;:186\|220
Alt18Left Arrow37=+187]}221
Cape Lock20Up Arrow38,<188'"222


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值