我正在使用javascript按键开关来触发事件,它在webkit浏览器中工作正常,但它在firefox中不起作用。有人可以帮忙吗?我正在使用的代码是:
$(document).keydown(function(e) {
switch(e.keyCode) {
case 39:
event.preventDefault();
alert("Arrow Key");
}
break;
case 37:
event.preventDefault();
alert("Arrow Key");
}
});
我试图触发的功能比仅仅发出警报更复杂,但我想我会保持简单的解释。
答案 0 :(得分:3)
IIRC Firefox使用charCode而不是keyCode。
你能试试吗:
$(document).keydown(function(e) {
kCode = (e.keyCode)? e.keyCode: e.charCode;
switch(kCode) {
case 39:
event.preventDefault();
alert("Arrow Key");
}
break;
case 37:
event.preventDefault();
alert("Arrow Key");
}
});
答案 1 :(得分:2)
你有一个语法错误(}
之前的错误括号break;
),以及你函数中未定义的对象(事件)。
$(document).keydown(function(e) {
switch(e.keyCode) {
case 39:
e.preventDefault();
alert("Arrow Key");
break;
case 37:
e.preventDefault();
alert("Arrow Key");
}
});
MSIE中没有出现错误的对象(事件),因为总有一个名为“event”的全局对象