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

时间:2019-06-09 22:04:56

标签: javascript

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

问题是,如果我按下并按住键盘上的一个键,则立即引发第一个事件,然后有某种停滞时间,最后该事件开始以固定比例发生。 我想消除最初的停滞时间,使从第一个到最后一个持续发生事件。 有可能达到目标吗? 甚至设置两个连续触发事件之间的时间也很棒。

我的代码如下:

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

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

1 个答案:

答案 0 :(得分:1)

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

因此,在事件监听器中无法避免这种情况。您可能应该做的是每X毫秒轮询一次键盘状态,并检查按键是否按下。