Typeahead Bloodhound 不会在点击时关闭自动完成功能

Posted

技术标签:

【中文标题】Typeahead Bloodhound 不会在点击时关闭自动完成功能【英文标题】:Typeahead Bloodhound don't close the autocomplete on click 【发布时间】:2021-11-20 23:14:06 【问题描述】:

我有一个我无法解决的问题,当我点击其中一个 a 标签(js-follow 类)时,会触发一个函数来关注/取消关注用户,但是包含自动完成建议的 div轻轻一点就关闭,我无法保持打开状态。在执行我的功能时,您是否有解决方案来防止它在点击时关闭?非常感谢!

这是我的代码:

$(document).ready(function () 
  var datas = new Bloodhound(
    datumTokenizer: Bloodhound.tokenizers.whitespace,
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: 
      url: "",
      wildcard: "",
      filter: function (datas) 
      ,
    ,
  );

  datas.initialize();
  $("#tags").typeahead(
     hint: false ,
    
      name: "datas",
      source: datas.ttAdapter(),
      display: "item",
      templates: 
        suggestion: function (item) 
          return (
            `<ul></ul>`)
          );
        ,
      ,
    
  );
);

【问题讨论】:

【参考方案1】:

我找到了解决方案。对于遇到此问题的任何人,以下是解决方法:

$(document).on("typeahead:beforeselect", function (event, data)  event.preventDefault(); );

【讨论】:

以上是关于Typeahead Bloodhound 不会在点击时关闭自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章

typeahead.js:返回空查询的所有 Bloodhound 记录

Typeahead.js / Bloodhound 只显示一个结果 [重复]

Bootstrap Tokenfield 与 Typeahead / Bloodhound 排除令牌

Typeahead 和 Bloodhound - 如何获取 JSON 结果

使用 Django / Python 为 Typeahead / Bloodhound 提供远程 JSON 数据

Typeahead Bloodhound POST 请求