Как я могу проверить, запущено ли событие или когда использовать нажатие клавиши против keyup? - PullRequest
0 голосов
/ 23 декабря 2018

Я добавил навигацию по страницам в window с помощью события нажатие клавиши и заметил, что он не работает в некоторых браузерах.Если я использую keyup в этих браузерах, событие запускается.

Таким образом, мой вопрос можно решить, зная:

  1. Для большей совместимости с браузером я использую keyup или keypress?Могу ли я использовать оба?

  2. Как проверить, поддерживается ли событие?Например, если я знаю, что браузер поддерживает нажатие клавиш, я добавлю обработчик для него.Если он поддерживает keyup, я добавлю обработчик для этого.Я могу добавить обработчик событий динамически.

История:

В ES4 был метод willTrigger, но я этого не вижуметод в DOM.

Обновление:
Я нашел возможный ответ здесь .Это говорит о том, что в некоторых браузерах keypress отправляется туда, где не делается никаких различий при упоминании keyup.

1 Ответ

0 голосов
/ 23 декабря 2018

Чтобы быстро провести различие между нажатием клавиши и нажатием клавиши, срабатывание клавиши срабатывает только один раз, независимо от того, как долго нажата клавиша, а событие нажатия клавиши может срабатывать несколько раз.Вы можете использовать оба (я не понимаю, почему нет - вы бы использовали их для разных целей), и базовая поддержка событий присутствует в кросс-браузерной версии (хотя цифры для поддержки мобильных браузеров не полностьюизвестен).Есть jquery-эквиваленты как .keyup () / onkeyup и .keypress () / onkeypress

Надеюсь, это поможет

...