带有长按键的DOM keydown事件

时间:2017-12-15 22:14:43

标签: html dom w3c

我想在按下某个键时收到通知,然后在发布之前不会收到通知。这可能吗?

按住键时,聆听keydown似乎会重复触发onkeydown回调。

2 个答案:

答案 0 :(得分:2)

你可以设置一个标志,并在按键上重置。



let isPressed = false;

document.addEventListener('keydown', () => {
  if (!isPressed) {
    isPressed = true;
    onDown();
  }
})

document.addEventListener('keyup', () => {
  isPressed = false;
  console.log('Up.')
})

function onDown() {
  console.log('Pressed')
}
  




答案 1 :(得分:1)

我建议你有一个keydown函数,你可以在一个键之间进行映射,以及它是否已被按下。查看映射以查看它是否已被按下。

在密钥中,您将从映射中删除密钥。