addEventListener не срабатывает при нажатии клавиш - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь добавить пользовательские ключи для запуска событий.Я могу заставить работать события keyup и keydown, но по какой-то причине событие keypress не работает.Я видел много дубликатов этих, но большинство в jquery.

Кроме того, при изучении этого я натолкнулся на документацию, в которой говорится, что keyCode устарела и вместо нее следует использовать key.Однако, если я напишу

if (event.key === 74)

, код не будет работать

Приведенный ниже код является простым примером того, что я пытаюсь сделать.

window.addEventListener('keypress', function(event) {
  if (event.keyCode === 74) {
    console.log('Show me');
  }
});

Ответы [ 4 ]

2 голосов
/ 05 марта 2019

Ваш код работает нормально (при условии, что вы вводите заглавную J).

Если вы также хотите проверить строчные буквы J, код ключа будет 106:

window.addEventListener('keypress', function(event) {
  if (event.keyCode === 74 || event.keyCode === 106) {
    console.log('Show me');
  }
});
1 голос
/ 05 марта 2019

Разница в столице и небольшом j.Вы используете код только для заглавных j

window.addEventListener('keypress', function(event) {
console.log(event.keyCode)
  if (event.keyCode === 74 || event.keyCode === 106) {
    console.log('Show me');
  }
});
0 голосов
/ 05 марта 2019

Вместо этого вы можете использовать клавишу «вниз», она будет отображать как верхний, так и нижний регистр j.

window.addEventListener('keydown', function(event) {
  if (event.keyCode === 74) {
    console.log('Show me');
  }
});
0 голосов
/ 05 марта 2019

Вам нужно использовать чёт. Когда вы проверяете J (74):

window.addEventListener('keypress', function(event) {
  if (event.which === 74) {
    console.log('Show me');
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...