jQuery - 当不是keyPress()时,keyUp()持续2秒做函数()

时间:2011-07-17 04:52:47

标签: javascript jquery

如何设置与keyPress,keyup,keydown等相反的东西。如果用户开始键入内容然后停止,2秒后执行function(){}

我试着onKeyPress有延迟,但似乎没有用。

由于

4 个答案:

答案 0 :(得分:2)

您可以使用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:我还没有测试过这段代码。

答案 1 :(得分:1)

在关键事件中,您设置2秒计时器。如果在计时器关闭之前有另一个键事件,则停止计时器并设置一个新计时器。如果计时器触发,则表示没有输入2秒钟。

答案 2 :(得分:0)

嗯,一种古老的学校方法是使用setTimeoutclearTimeout。基本上,每次按键发生时,您取消之前的超时,然后设置一个延迟2秒的新超时。一旦有人停止按键2秒钟,函数调用才会真正通过,我认为这就是你所要求的

答案 3 :(得分:0)

我不知道是否有任何本地方式这样做。但是我已经使用这个plugin来执行此操作。