首页 > 火狐下不支持event.keyCode,在网上找了其他兼容的代码,但还是无法兼容,求助!

火狐下不支持event.keyCode,在网上找了其他兼容的代码,但还是无法兼容,求助!

在网上找了其他兼容的代码

var evt = window.event ? window.event : e; 
var keycode = evt.keyCode ? evt.keyCode : evt.which;

// keyCode=13是回车键
if (keycode == "13") {
    $('.queding').click();
}

var lKeyCode = (navigator.appname == "Netscape") ? event.which : event.keyCode;
if ( lKeyCode == 13 ){
    $('.queding').click();
}

但写了之后还是不兼容...


感觉你的写法有很大的问题,你是想实现敲击回车后响应事件是吧!这里我举个例子,比如你要实现敲击回车后执行$('.queding').click();这行代码,可以监听document的keydown或者keyup事件:具体如下:
document.onkeydown = function(e){
if(e.keyCode === 13){
$('.queding').click();
}
}


function keyUp(e) {  
    var currKey=0,e=e||event;  
    currKey=e.keyCode||e.which||e.charCode;  
    var keyName = String.fromCharCode(currKey);  
    alert("按键码: " + currKey + " 字符: " + keyName);  
}  
document.onkeyup = keyUp;

网上找到的一串代码,一直在使用


看你代码有用jquery,如果e是在jquery事件绑定函数里面的形参,那么可以用e.which标准化


var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异
if (event.keyCode == 13){
$(".queding").click();
}
上面那些代码就把问题解决了...

【热门文章】
【热门文章】