gpt4 book ai didi

javascript - TypeAhead.js 突出显示 TypeError

转载 作者:行者123 更新时间:2023-12-01 02:02:28 25 4
gpt4 key购买 nike

我正在尝试获取预输入输入的选定值,但每次都会收到此错误:未捕获的类型错误:无法分配给的只读属性“突出显示”。它永远不会告诉我它所引用的对象,并且它源自 TypeAhead.min.js 文件,因此我无法确切地说出我的代码中的哪一行导致了它。这是我用来设置和捕获输入值的代码:

$(".articles.new").ready ->
engine = new Bloodhound {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: autocomplete_items
}

engine.initialize()

$('#auto_complete').typeahead { hint: true, highlight: true, minLength: 1 },
{ name: "names", displayKey: "name", source: engine.ttAdapter()}

$('#auto_complete').on 'typeahead:selected', (event, selection) ->
alert selection.name
$('#auto_complete').typeahead 'setQuery', ''
event.stopPropagation()
return
return

对于上下文:auto_complete items 是来 self 的 Controller 的具有 name 属性的对象数组。我正在使用 Ruby on Rails 4.1.4。

我可以做什么来修复这个错误?是什么原因造成的?

最佳答案

经过多次实验,我发现了这一点。错误来自此行 $('#auto_complete').typeahead 'setQuery', ''。在采取其他操作后,我试图清除输入框中的值。我不太确定技术细节,但使用 $('#auto_complete').typeahead 'val', '' 反而达到了预期的效果,没有错误。我想这解释了为什么该对象是空白的,它指的是一个空查询并尝试对其采取操作。

如果有人能为我提供关于这两个 API 调用之间差异的更详细解释,出于好奇,我很想听听,但如果没有,我很乐意继续。

关于javascript - TypeAhead.js 突出显示 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392963/

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