我正在编写一个 JavaScript 应用程序,用户可以在其中按下一些发送到服务器的按键。一切正常,但我不知道如何控制这些事件的触发速度。
问题是,如果我按下并按住键盘上的一个键,第一个事件会立即引发,然后会出现某种死区时间,最后事件开始以恒定的比率引发。 我想消除最初的死区时间,从第一个到最后一个都有持续的事件。 有可能达到那个程度吗? 甚至可以设置两个连续触发事件之间的时间,这也很棒。
我的代码如下:
const keyDownHandler = (e) =>{
console.log(e.keyCode)
}
document.addEventListener('keydown', keyDownHandler)
此时,如果您打开控制台,它会打印第一个日志,然后等待大约半秒,然后开始以恒定比率触发事件。 如何消除第一个和第二个事件触发之间的死区时间?
最佳答案
其实这与Javascript并没有具体的关系。每当您在文本编辑器中键入文本时,您都会遇到同样的情况,如果按住某个键,则第一次打印和第二次打印之间会出现延迟。
所以在事件监听器中没有办法避免它。您可能应该做的是每 X 毫秒轮询一次键盘状态并检查某个键是否按下。
关于javascript - 是否可以设置按键事件延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518715/