DOM 长按按键事件

DOM keydown event with a long key press

我想在按下某个键时得到通知,然后直到松开时才得到通知。这可能吗?

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

我建议你有一个 keydown 函数,你有一个键和它是否已经被按下之间的映射。查看贴图是否已经按下

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

您可以设置一个标志,并在按下时重置。

let isPressed = false;

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

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

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