我不确定我在使用 Twitter 的Typeahead引导插件时做错了什么。Typeahead 甚至没有进行 Ajax 查询(我可以在 Chrome 开发工具中看到没有发生查询)。
这是我的HTML:
<input type="text" id="BookSearch"/>
这是我的 Typeahead 代码:
$("#BookSearch").typeahead([{
name: "google-books-search",
remote: "/Book/GoogleBookSearch?query=%QUERY",
template: [
"<img src='{{SmallThumbnailImageUrl}}' />",
'<p>{{Title}}</p>',
'<p>{{Authors}}</p>'
].join(),
engine: Handlebars
}]);
我可以验证 Handlebars 是否已加载。我可以验证 Typeahead 正在被初始化并且它正在寻找 BookSearch 控件(我通过 Typeahead 代码来查看这个)。
但是,Typeahead 代码似乎从未收到任何事件。我在 Focus、Blur 和 SpecialKeys(以及所有其他事件处理程序)处设置了断点,但没有识别任何内容。
我还尝试从上面的代码中注释掉 Template 和 Engine 行,让 Bootstrap 查询它无法识别的数据,但这也不起作用。
我可以浏览到远程 URL 并验证确实正在返回数据。但是,Typeahead 甚至都没有尝试过。
我错过了什么?