如何在typeahead.js中实现debounce?

时间:2017-10-10 09:30:24

标签: javascript jquery typeahead.js debounce

我正在使用typeahead.js编写搜索功能。我想弄清楚如何为搜索功能实现去抖动。我浏览了预先输入的文档,但我找不到任何相关信息。如何在typeahead中实现去抖?代码如下所示。

$('input.typeahead').typeahead({
  name: 'movies',
  remote: 'http://localhost:3000/searchMovie?key=%QUERY',
  limit: 10
});

1 个答案:

答案 0 :(得分:0)

如果您将猎犬与Twitter的typeahead.js库一起使用,则可以使用本机选项来消除远程查找的输入。 bloodhound remote twitter typeahead doc on github

var my_bloodhound = new Bloodhound({
    name : 'search_filter_' + my_filter,
    datumTokenizer : Bloodhound.tokenizers.obj.whitespace('name'),
    queryTokenizer : Bloodhound.tokenizers.whitespace,
    limit : 20,
    prefetch : {
        url : '/my_search.php?filter=' + my_filter,
        filter : myFilterSearchTypeaheadResponse
    },
    remote : {
        wildcard : 'LOOKUP',
        url : '/my_search.php?filter=' + my_filter + '&query=LOOKUP',
        rateLimitBy : 'debounce',
        rateLimitWait : 600,
        filter : myFilterSearchTypeaheadResponse
    }
});
my_bloodhound.clearPrefetchCache();
my_bloodhound.clearRemoteCache();
my_bloodhound.initialize();