2

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

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

1 回答 1

0

如果您在 twitter 的 typeahead.js 库中使用 Bloodhound,则可以使用本机选项来消除远程查找的输入抖动。 github 上的 Bloodhound 远程 twitter typeahead 文档

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();
于 2019-09-24T23:17:05.903 回答