'Alt'keyup事件在Firefox上不起作用

时间:2012-04-03 06:49:47

标签: 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。

但是,如果我向下添加箭头键,当箭头键入时,它没关系,但是在未检测到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;}
});

您可以在控制台上尝试此操作,并在日志'操作正常'后,您需要再次按下alt键“isAlt = false”。 但是,此代码在Chrome上运行良好。

任何人都有一个想法来纠正这个错误吗?

1 个答案:

答案 0 :(得分:2)

您需要查看event.altKey媒体资源:https://developer.mozilla.org/en/DOM/KeyboardEvent