当keyPress()不在时,keyUp()在2秒内执行function()

jQuery - When not keyPress(), keyUp() for 2 secs do function()

本文关键字:2秒 执行 keyUp function keyPress      更新时间:2023-09-26

如何设置与keyPress, keyup, keydown等相反的键?例如,如果用户开始输入内容然后停止,2秒后do function(){}

我尝试onKeyPress与延迟,但它似乎不工作。

谢谢

您可以使用keyPress和全局计时器。每次用户按下一个键就重置计时器。我猜代码是这样的:

var myTimer = undefined;
var delayTime = 2000; // should be in miliseconds.
function myfunction() {
    // do your stuff here
}
function onKeyPress(e) {
    if (myTimer) {
        clearTimeout(myTimer);
    }
    myTimer = setTimeout('myfunction();', delayTime);
}

PS:我还没有测试过这个代码

在键事件上设置2秒计时器。如果在计时器结束之前出现另一个键事件,则停止计时器并设置一个新计时器。如果计时器触发,则有2秒没有输入。

嗯,一种老式的方法是使用setTimeoutclearTimeout。基本上,每次按键发生时,你都会取消之前的超时,然后设置一个延迟2秒的新超时。函数调用只会在某人停止按键2秒后才会执行,我认为这是你要求的

我不知道是否有任何本地方式做到这一点。但是我已经使用这个插件来执行这个