@plartem

JS Как отследить нажатие комбинации клавиш(пример — Alt+Ctrl+1)?

Какое есть решение для отслеживания нажатия комбинаций клавиш типа Alt+Ctrl+1 - Alt+Ctrl+999 и подобных?
Сейчас рассматриваю вариант массива, который заполняется данными, пока альт и контрол не отжаты, есть ли другие способы/методы?
Также просмотрел документацию по commands в chrome api( https://developer.chrome.com/extensions/commands ), но там
1) нельзя использовать альт и контрл одновременно
2) нету возможности задать один обработчик для чисел 1-999 и т.п.
  • Вопрос задан
  • 4195 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dmz9
с джиквери можно сделать так.
вешаешь keydown на документ, потом слушаешь ивент.
там среди прочего есть
event.ctrlKey
event.altKey
event.shiftKey (вроде бы)
ну и сам зажатый event.key (звездочка например)
кодэ вынеси в функцию, не помню считается ли зажатая кнопка повторением ивента, но если нет просто через интервал запускаешь функцию
$(document).on('keydown',function (event) {
            if (event.ctrlKey&&event.key=='*') {
              // кодэ
            }
        })
Ответ написан
@M-ka
frontend присматривающийся к ror
Проблема заключается в том, что коды нажатых клавиш приходят последовательно... и якобы нажатое одновременное сочитание по факту будет являться последовательностью такового.... потому остается только отслеживать последовательности в разных комбинациях с учетом интервала времени.... можно допустим создать хранилище нужных кодов и фиксировать время нажатия каждого и проверять наличие по интересующим и временные отклонения.... ну или погуглить другие варианты решения, но какие будут другие? да думаю такие же просто с разными вариантами реализации))))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы