addEventListener不会在按键上触发

时间:2019-03-05 20:05:21

标签: javascript html events

我正在尝试添加自定义键以触发事件。我可以使keyupkeydown事件正常工作,但是由于某些原因,keypress事件无法正常工作。我见过很多重复的东西,但大多数在jquery中。

此外,在研究此文档时,我遇到了说明keyCode已过时的文档,应改为使用key。但是如果我写

if (event.key === 74)

代码不起作用

下面的代码是我正在尝试做的一个简单示例。

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

4 个答案:

答案 0 :(得分:2)

您的代码工作正常(假设您输入的是大写字母 J)。

如果您还想检查小写的J,则keyCode将为106

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

答案 1 :(得分:1)

区别是大写字母和小j。您仅将代码用于大写字母j

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

答案 2 :(得分:0)

在检查J(74)时需要使用偶数。

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

答案 3 :(得分:0)

您可以改用按键按下,这将同时捕获大小写j

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