关于keydown的延迟问题?

按住键盘按键不放,keydown事件会重复触发。
但keydown第一次触发与后面的重复触发,之间似乎有个比较明显的时间间隔。

document.body.addEventListener("keydown",function(){
    console.time("keydown");
    console.timeEnd("keydown");
})

图片描述

第一次触发后,会间隔大概半秒左右才会再次执行。
之前以为是浏览器差异,但换了多个浏览器依然如此
请教如何解决?

阅读 5.4k
2 个回答

操作系统就是设计成第一次触发过一段时间才能连续触发,以避免平时想打一个字符的时候冒出两个。如果是 Windows 就是对应控制面板 → 键盘属性 → 重复延迟的设置,不过不管怎么设置第一次的间隔时间都比之后的长。

估计跟电脑性能有关系,我的一直是0.003ms

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏