javascript - 是否可以设置按键事件延迟?

标签 javascript

我正在编写一个 JavaScript 应用程序,用户可以在其中按下一些发送到服务器的按键。一切正常,但我不知道如何控制这些事件的触发速度。

问题是,如果我按下并按住键盘上的一个键,第一个事件会立即引发,然后会出现某种死区时间,最后事件开始以恒定的比率引发。 我想消除最初的死区时间,从第一个到最后一个都有持续的事件。 有可能达到那个程度吗? 甚至可以设置两个连续触发事件之间的时间,这也很棒。

我的代码如下:

const keyDownHandler = (e) =>{
    console.log(e.keyCode)
}
document.addEventListener('keydown', keyDownHandler)

此时,如果您打开控制台,它会打印第一个日志,然后等待大约半秒,然后开始以恒定比率触发事件。 如何消除第一个和第二个事件触发之间的死区时间?

最佳答案

其实这与Javascript并没有具体的关系。每当您在文本编辑器中键入文本时,您都会遇到同样的情况,如果按住某个键,则第一次打印和第二次打印之间会出现延迟。

所以在事件监听器中没有办法避免它。您可能应该做的是每 X 毫秒轮询一次键盘状态并检查某个键是否按下。

关于javascript - 是否可以设置按键事件延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518715/

相关文章:

javascript - 如何通过 Python 以编程方式访问网站中的 JavaScript 变量

javascript - 在 Javascript 中使用时,服务器端代码会自动对字符进行编码

javascript - 如何在javascript中查找字符串中的特殊字符并将其存储在数组中

javascript - 如何检测div中的哪个位置发生了点击事件?

javascript - Restangular 从 POST 请求中获取干净的响应对象

javascript - 如何让一个按钮点击其他按钮

javascript - 来自 React Material UI MenuItem 单击事件的 setState

javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示

javascript - 设置超时/暂停/等

javascript - 如何检查纬度/经度点是否在 Google Maps API 的 GRoute 上?