Поскольку моя сущность истекла (никто не использовал ее :(), я решил обновить ответ с помощью решения 2017 года. Проверьте ниже.
Вы можете использовать мой плагин для jquery, чтобыобнаружение горячих клавиш.
Это в основном кеширование событий и получение того, какие клавиши были нажаты в данный момент. Если все клавиши нажаты, запускается функция.
https://github.com/maciekpaprocki/bindShortcut (истек срок действия!)
У вас есть небольшое объяснение, как использовать его в файле readme. Надеюсь, это поможет. Обратная связь более чем оценена.
Редактировать 2017:
Это 2017 инам не нужны плагины jQuery для решения подобных задач. Короче говоря, вам понадобится что-то вроде этого:
let pressed = {};
document.addEventListener('keydown', (event) => {
pressed[event.key] = true;
});
document.addEventListener('keyup', (event) => {
delete pressed[event.key];
});
//and now write your code
document.addEventListener('keydown', (event) => {
if(pressed[firstKey]&&pressed[secondKey]){
//dosomething
}
});
В старых браузерах могут быть некоторые причуды, однако в IE9 все должно работать нормально, за исключением незначительного количестваОперационные системы, которые не поддерживают правильное делегирование событий (супер старые ubuntu и т. Д.). В них невозможно исправить это, поскольку это не проблема браузера.
В новых маках, связанных с булевыми ключами, есть некоторые причуды, такие какзапример блокировки шапки.
Подробнее: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names_and_Char_values