Javascript 检测键盘按键信息及键码值对应介绍 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本文标签:键盘按键,检测,键码值 Javascript中有3个事件句柄在对应键盘的输入状态:keydown、keypress和keyup 。 分别对应的意思是:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后) 按键的分类 按键可以分为“实键”和“虚键” 实键可以理解为我们能够看到并打印出来的按键,如字母“A”、数字“1”、字符“?”等等 虚键就是那些无法打印出来起到控制作用的按键,如“Ctrl”、“Alt”、“Shift”、“方向键”等等 IE在处理虚键时有个特例:虚键不会产生keypress事件,必须使用keydown或keyup来捕获 按键码和字符码 按键码是计算机用来识别不同按键的编码,每一个按键都有按键码 字符码是可被打印的实键特有的,对应了键盘上显示的字符 按键码可以使用String.fromCharCode()转换为字符码 按键码和和字符码的对应表可以在本文最后找到 。 获取实键 复制代码 代码如下: function getKeyCode(e) { var keyCode = 0; var e = e || window.event; keyCode = e.keyCode || e.which || e.charCode; alert(keyCode); } 稍微解释下 1. e为Firefox等标准浏览器支持的JS隐藏变量,表示一个“事件”;IE系列中没有“e”,而是用window.event来表示“事件”;所以var e = e || window.event;就表示:获取当前正在发生的事件 。 2. e.keyCode、e.which、e.charCode都代表获取按键码,但不同的浏览器支持不同的写法 获取虚键 复制代码 代码如下: function getKeyCode(e) { var keyCode = 0; var e = e || window.event; if (e.ctrlKey) alert("ctrlKey pressed"); if (e.altKey) alert("altKey pressed"); if (e.shiftKey) alert("shiftKey pressed"); }
|