javascript - 区分按键按下和按键保持

标签 javascript jquery keystroke

我有一个 javascript 函数,它在按下“向下”键时运行。我想,如果按住“向下”键,则该功能根本不会运行。

我考虑了 keydown 和 keyup 之间的时间,如果时间小于 1 秒,那么该函数将在 keyup 上运行。问题是,如果我按住该键,浏览器会将其视为连续多次按下的键。

有更好的方法吗?

谢谢

最佳答案

有一个名为 repeat 的键盘事件属性如果按住该键,则返回 true。

document.addEventListener('keydown', (event) => {
  if(event.repeat) {
    // key is being held down
  } else {
    // key is being pressed
  }
});

关于javascript - 区分按键按下和按键保持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7164735/

相关文章:

javascript - 如何在 Vuetify 组件的内联 CSS 中使用来自 Vue 组件的数据

php - JQuery .post 不起作用,似乎没有加载帖子页面

jquery - 如何在动态附加的元素上附加点击事件?

javascript - Angular 2 中特定元素的击键(键绑定(bind))

java - 如何更改 ActionListener 的聚焦 JButton 的默认键绑定(bind)?

javascript - 不要将 URL 添加到浏览器历史记录中

javascript - 在 Javascript 中将 PDF 转换为 Base64 编码的字符串

Javascript 循环遍历图像

php - 在 'layered' 元素上翻转...可能吗?

c# - 监控击键