gpt4 book ai didi

javascript - 在菜单关闭后销毁 typeahead

转载 作者:太空宇宙 更新时间:2023-11-03 20:47:48 25 4
gpt4 key购买 nike

我有一个搜索框,当我点击它时,我会在上面初始化预先输入,以获取来自服务器的一些数据。根据当前页面,我需要在搜索下拉列表中显示/隐藏页脚。

根据我的需要,我采用了销毁 typeahead 然后重新创建它的方法。这样,我还从服务器刷新数据,以防发生变化。

为了销毁,我在需要初始化预输入的函数顶部使用了这个 this.$("#searchQuery").typeahead('destroy');,但问题是菜单没有被破坏。如果我查看 dom,会创建 4-5 个甚至更多的预输入菜单。

所以我的问题是,我怎样才能正确地“重新初始化”预输入菜单?

我忘了说我正在使用 twitter typeahead

最佳答案

你不需要像你在这里展示的那样通过this引用jQuery

this.$("#searchQuery")

你应该这样做

$("#searchQuery").typeahead("destroy");

在没有看到更多示例的情况下,我会说您的问题可能是因为函数中的 this 绑定(bind)到与您期望的对象不同的对象。

参见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this

你的行在你的函数中,所以你不能保证 this 会是 Window 并且在这种情况下你不需要使用它。

如果这不是问题,请提供完整的 html 和 javascript 示例,最好是在 JsFiddle 上。

关于javascript - 在菜单关闭后销毁 typeahead,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18887544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com