Javascript ';Alt';键控事件don';我不能在Firefox上工作
我尝试捕捉这个键:alt+向下箭头,alt+向上箭头。 首先,我捕获alt键向下:Javascript ';Alt';键控事件don';我不能在Firefox上工作,javascript,events,firefox,alt,keyup,Javascript,Events,Firefox,Alt,Keyup,我尝试捕捉这个键:alt+向下箭头,alt+向上箭头。 首先,我捕获alt键向下: var isAlt = false; $(document).keydown(function (e) { if(e.which == 18){isAlt=true;} }).keyup(function (e) { if(e.which == 18){isAlt=false;} }); 此代码正常,并且检测到alt keyup 但是,如果我添加了arrow-key-down,当arrow
var isAlt = false;
$(document).keydown(function (e) {
if(e.which == 18){isAlt=true;}
}).keyup(function (e) {
if(e.which == 18){isAlt=false;}
});
此代码正常,并且检测到alt keyup
但是,如果我添加了arrow-key-down,当arrow-key-down时,就可以了,但是在未检测到alt-keyup之后:
var isAlt = false;
$(document).keydown(function (e) {
if(e.which == 18){isAlt=true;}else{
if(e.which == 38 && isAlt == true) {
//action code here work
console.log('action ok');
}
}
}).keyup(function (e) {
if(e.which == 18){isAlt=false;}
});
您可以在控制台上尝试此操作,在记录“action ok”后,需要再次按alt键以显示“isAlt=false”。
但是,该代码在Chrome上运行良好
有人有办法纠正这个错误吗?您需要检查
事件。altKey
属性:实际上,您不需要自己跟踪Alt键状态,Firefox会帮您完成。