Firefox中的onkeydown事件
January 28th, 2012
5 comments
在JS中处理onkeydown事件是常见的,打个比方,设置页面默认按钮即按回车执行某个指定事件.不过看似简单的步骤也可能被不同浏览器的支持标准给搞混了.
onkeydown的处理方式,ie和火狐 (firefox)就不同,不得不做些小的处理。
document.onkeydown=function(e){
var keyCode;
if(window.event){
keyCode=event.keyCode;
}else{
keyCode=e.which;
}
if(keyCode==13){
alert("回车");
}else{
alert(keyCode);
}
}
注意代码中的处理分支,ie是支持event.keyCode,而firefox不支持event和keycode而转而支持事件处理程序的传入参数和which。
因此如果你单纯的使用e.keyCode在firefox中是无法执行的。
PS:在IE中event作为window对象的一个属性已经呗定义因此可以直接使用,不过在Firefox中是通过传参的方法来传播的,比如上面示例中的传入参数e.
