@tenaro

Как определить нажатый пробел, когда зажаты другие кнопки?

Задача такая: по кнопкам-стрелочкам идет передвижение элемента, при нажатии ПРОБЕЛА должно что то происходить.
Проблема: когда зажаты любые две стрелки, событие не определяет нажатый пробел (другие клавиши определяет). Что интересно, комбинация ВВЕРХ + ВПРАВО + ПРОБЕЛ работает отлично, другие комбинации из стрелок и пробела - не хотят, когда зажата только одна стрелка, пробел срабатывает как надо. Вот кусок кода:

$(window).keydown(function(e) {
            if (e.which == 38) { self.moveUp() } // UP
            if (e.which == 40) { self.moveDown() } // DOWN
            if (e.which == 37) { self.moveLeft() } // LEFT
            if (e.which == 39) { self.moveRight() } // RIGHT
            if (e.which == 32 || e.which == 0) { self.dropGift() } // SPACE
        }).keyup(function(e) {
            if (e.which == 38) { 
                self.up_anim = false;
                clearInterval(self.up_interval);
            } else if (e.which == 40) { 
                self.down_anim = false;
                clearInterval(self.down_interval);
            } else if (e.which == 37) { 
                self.left_anim = false;
                clearInterval(self.left_interval);
            } else if (e.which == 39) { 
                self.right_anim = false;
                clearInterval(self.right_interval);
            }
        })
  • Вопрос задан
  • 810 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Найди утилиту для тестирования клавиатуры и проверь: эти клавиши вообще на твоей клавиатуре вместе работают?
Вот, например, несложная утилита онлайн: www.microsoft.com/appliedsciences/KeyboardGhosting...
А вот в виде Windows-проги: www.pages-informatique.com/kbtesterv0.4.php

Клавиши опрашиваются по матричной схеме без диодов; те клавиши, чьё нажатие неоднозначно, пропускаются.
См. https://ru.wikipedia.org/wiki/Технологии_клавиатур
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
Попробуйте посмотреть вот на этот проект
https://github.com/jeresig/jquery.hotkeys
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы