0

このキーをキャプチャしようとしています: 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;}
});

コンソールでこれを試すことができます。「action ok」をログに記録した後、「isAlt = false」の Alt キーをもう一度押す必要があります。ただし、このコードは Chrome で正常に動作します。

このバグを修正するためのアイデアはありますか?

4

1 に答える 1

2

event.altKeyプロパティを確認する必要があります: https ://developer.mozilla.org/en/DOM/KeyboardEvent

于 2012-04-03T06:54:04.180 に答える