Javascript onkeydown 事件只触发一次?

标签 javascript dom-events

我想让 onkeydown 事件只触发一次函数。要再次触发该功能,用户必须松开按键并再次按住。 我知道它相当简单,但我是 JS 的新手。此外,我更愿意避免使用 jQuery 或其他库。 还有一件事,这应该适用于 ie 和 firefox。

最佳答案

我很惊讶它没有被提及,还有 event.repeat:

document.addEventListener('keydown', (e) => {
  if (e.repeat) return;

  console.log(e.key);
});

每次按键只会触发一次,因为 event.repeat 在按住键后变为 true

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key#keyboardevent_sequence

关于Javascript onkeydown 事件只触发一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353254/

相关文章:

javascript - 使用 jquery 动态添加按钮

javascript - JS - 为对象中的每个 Dom 元素分配一个值

javascript - 如何在 Highcharts 中设置最后一个点的位置

javascript - MarkLogic 使用 javascript 获取 Json 文档的所有嵌套字段名称

javascript - 单击的元素的位置(无 jQuery)

javascript - 单击其中的 anchor 链接时,如何使导航栏停止消失?它为什么要这么做?

javascript - 如何在 Silverlight 小程序加载后触发 JavaScript 执行?

javascript - AngularJS - 在进度条 CSS 期间绘制边框

javascript - 用确认框停止我的 while 循环

javascript - 如何防止嵌套在另一个也使用 onclick 的元素上的链接上的单击事件?