【问题标题】:How to implement debounce in typeahead.js?如何在 typeahead.js 中实现去抖动?
【发布时间】:2017-10-10 09:30:24
【问题描述】:

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

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

【问题讨论】:

标签: javascript jquery typeahead.js debounce


【解决方案1】:

如果您将 Bloodhound 与 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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 2017-07-01
    • 2022-06-16
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2017-01-30
    相关资源
    最近更新 更多