当上一个事件被触发时,停止上一个事件

时间:2013-06-10 10:44:51

标签: javascript

searchBox.live('input', function(){
    //search in a json object
    //update the dom based mathes
});

如何在搜索框中输入新输入时停止上一次搜索

2 个答案:

答案 0 :(得分:0)

您可以尝试查看下划线debounce功能。你传递了函数和一个等待毫秒值,它返回一个“debounced”版本的函数,它对传入的函数调用进行排队,并在等待 ms。

答案 1 :(得分:0)

我猜你的目标是只在用户完成输入后进行搜索,对吧?在这种情况下,以这种方式延迟搜索的实际执行:

var searchTimer = 0;
searchBox.live('input', function(){
    window.clearTimeout(searchTimer);
    searchTimer = window.setTimeout(function() {
        //search in a json object
        //update the dom based mathes
    }, 500);
});

这将在用户输入输入后半秒钟触发搜索并取消之前的所有呼叫。