Действие warnDefault(), которое работает с цифровой клавишей 144, так что цифровая клавиатура все еще может использоваться для ярлыков

Я пытаюсь создать сайт, который использует цифровую клавиатуру для сочетаний клавиш, чтобы нажимать разные кнопки. Для одного из событий мне нужно более 9 ярлыков. Для простоты на стороне пользователя я бы хотел использовать цифровую клавишу #144. Проблема в том, что когда они используют клавишу блокировки номера, это предотвращает работу цифр для будущих нажатий кнопок. Я пытался использовать protectDefault(); функция, но это не похоже на работу. Есть ли альтернатива, которая позволила бы мне сделать это?

if (e.which == 144) { // numlock on the numberpad
  preventDefault();
  document.getElementById("button1").click();
}
if (e.which == 96) { // 0 on the numberpad
  document.getElementById("button2").click();
}

1 ответ

Решение

Вам нужно позвонить preventDefault от вашего параметра события, как правило, e, Там нет глобального preventDefault,

Кроме того, вы не можете контролировать состояние numlock. Это аппаратно-программная реализация низкого уровня.

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