Событие 'Alt' не работает в Firefox

Я пытаюсь захватить этот ключ: Alt+ стрелка вниз, Alt+ стрелка вверх. Сначала я фиксирую Alt Key вниз:

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

Вы можете попробовать это на консоли, и после журнала 'action ok' вам нужно снова нажать клавишу alt для "isAlt = false". Но этот код отлично работает на Chrome.

У кого-нибудь есть идея исправить эту ошибку?

1 ответ

Решение

Вам нужно проверить event.altKey свойство: https://developer.mozilla.org/en/DOM/KeyboardEvent

Другие вопросы по тегам