我尝试捕获此键: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键输入。

但是,如果我添加向下箭头键,则在向下箭头键时也可以,但是在未检测到alt向上键之后:

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;}
});


您可以在控制台上尝试此操作,并且在登录“操作正常”后,需要再次按Alt键以表示“ isAlt = false”。
但是,此代码在Chrome上可以正常运行。

任何人都有纠正此错误的想法?

最佳答案

您需要检查event.altKey属性:https://developer.mozilla.org/en/DOM/KeyboardEvent

关于javascript - 'Alt'键启动事件在Firefox上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9988403/

10-12 12:25