js获取键盘按下的键值有:event.keyCode、event.charCode和event.which。
其中:
谷歌浏览器:对event.keyCode、event.charCode和event.which都兼容。
火狐浏览器:对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效。
event.which也是部分键值有效,如字母键,数字键,enter键,Backspace键等有效,对上下左右键,PgUp(33),PgDn(34)键无效。
event.charCode也是对部分键值有效,如字母键,数字键,,Backspace键等有效,对enter键,上下左右键,PgUp(33),PgDn(34)键无效。
ie浏览器:IE8及以下浏览器对event.charCode无效,event.keyCode和event.which对大部分键值能获得,但是有少部分也不能获得。
网络查看说event.which 将 event.keyCode 和 event.charCode 标准化了。但实际还是有区别的。
所以一般都这样写兼容:
e.keyCode<span class="hljs-params">||</span>e.which<span class="hljs-params">||</span>e.charCode;
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
1.兼容ie和火狐的回车事件
function EnterPress(e){ //传入 event
var e = e || window.event;
if(e.keyCode == 13){
//13代表回车符
//TO_DO按下回车键后的动作
}
}
2.JS监听某个DIV区域
$("#queryTable").bind("keydown",function(e){
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
//回车执行查询
$("#queryButton").click();
}
});