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

在搜索框中输入新输入时如何停止以前的搜索

4

2 回答 2

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);
});

这将在用户输入输入后半秒触发搜索并取消所有先前的调用。

于 2013-06-10T11:53:48.167 回答
0

您可以尝试查看下划线去抖动功能。您将函数和等待毫秒值传递给它,它会返回函数的“去抖动”版本,该函数将传入的函数调用排队并在等待毫秒后执行队列中的最后一个。

于 2013-06-10T11:34:46.173 回答