Javascript 保持Typeahead.js结果窗口打开

Javascript 保持Typeahead.js结果窗口打开,javascript,html,css,ajax,typeahead.js,Javascript,Html,Css,Ajax,Typeahead.js,我使用typeahead.js来显示一个自动完成的结果框,这些结果是由发送到服务器的查询生成的。由于数据的大小,我无法在本地缓存数据,即使是子集也会非常大,非常有用。但是,返回结果大约需要500毫秒,这意味着当键入另一个字符时,结果框将消失,然后随着新结果重新出现。在某些情况下,新结果与以前返回的结果几乎相同(如果不是的话)。我想让typeahead保持结果窗口打开,直到返回新的结果,然后更新结果窗口(可能通过隐藏、重新填充和重新显示),因为这将提供一个比现在发生的明显闪烁更好的外观 我已经在G

我使用typeahead.js来显示一个自动完成的结果框,这些结果是由发送到服务器的查询生成的。由于数据的大小,我无法在本地缓存数据,即使是子集也会非常大,非常有用。但是,返回结果大约需要500毫秒,这意味着当键入另一个字符时,结果框将消失,然后随着新结果重新出现。在某些情况下,新结果与以前返回的结果几乎相同(如果不是的话)。我想让typeahead保持结果窗口打开,直到返回新的结果,然后更新结果窗口(可能通过隐藏、重新填充和重新显示),因为这将提供一个比现在发生的明显闪烁更好的外观


我已经在GitHub页面上查看了好几年了,但在那里找不到任何有用的东西,因为我不是JavaScript高手,所以我想问问我是否还有其他方法可以实现我的目标。

我在jQuery UI autocomplete方面取得了很好的效果。您通常从db查询返回多少行?@TimSPQR,我通常返回6个结果。那么,为什么您不能读取所有内容,然后让自动完成排序呢。我通常先去数据库,读取多达200行,将这些行传递给autocomplete,然后让它完成它的工作。非常快。我正在处理超过30000个可能的结果,自动完成框将显示每个点击的图像、描述和标题(HTML模板)。我使用全文搜索和一个过程来返回排名结果。好的,所以可能很大。因此,您可以计算出返回可管理结果所需的字符数,然后在X个字符处传递查询。或者,您不需要自动完成,只需使用标准搜索。或者,您可以将查询子集为较少的列,然后在选择一个集合时进行完整查询。难道你不希望拥有谷歌的火力吗?在自动完成框中显示整个web.:-)