最后一次按键后运行js 1.6秒

时间:2014-06-11 02:31:34

标签: javascript jquery

如何在键盘后运行一些js 1.6,但如果一个键盘在1.6秒内发生,它会取消并开始等待另外1.6秒。

以下是我能想到的方法:

var waiting = false;
$('input[type="text"]').on('keyup', function(){
    waiting = true;
    setTimeout(function(){
        if(!timerRunning){
            //js here
        }
    }, 1600);
});

有没有比我上面提到的更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用clearTimeout可能是一个更优雅的解决方案

var timer;
$('input[type="text"]').on('keyup', function(){
    if(!timer)
        clearTimeout(timer);
    timer=setTimeout(function(){
        //js here
    },1600);
});