我正在使用 Twitter Typeahead(v0.10.5 typeahead.bundle.js 此处)和 Handlebars v4.0.6。
除了我输入的单词“突出显示”之外,一切都按预期运行(我可以搜索我的数据集并且自动完成功能有效)。您可以在此处查看如何显示的示例。 我的代码如下。
var books = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('title'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
prefetch: {
url: 'books.json',
ttl: 0,
filter: function(list) {
return $.map(list, function(book) {
return {
title: book.title,
};
});
}
}
});
$('.demo .typeahead').typeahead({
hint: false,
highlight: true, // <-- this doesn't work
minLength: 1
}, {
name: 'books',
displayKey: 'title',
source: books.ttAdapter(),
engine: Handlebars,
templates: {
empty: ['<div class="empty-message">', 'no results found', '</div>'].join('\n'),
suggestion: Handlebars.compile('<p>{{{title}}}</p>')
},
});
我不认为这是CSS问题,因为我删除了所有CSS,但仍然没有突出显示。
我已经尝试了最新版本的 typeahead (v0.11.1),但这没有什么区别。
如有任何帮助,我们将不胜感激。
minLength: x
。
就您而言,您已经完成了此操作。问题是你需要在 CSS 中添加以下内容
.tt-cursor {
color: #f1b218;
}
.tt-cursor {
color: #f1b218;
}
这是我的代码:
.tt-cursor {
color: #f1b218;
}
...
<div id="the-basics" style="position:absolute; top:85px;left:820px;"><input id="nom" style="height:50px;" class="typeahead" type="text"/></div>
...
$('#the-basics .typeahead').typeahead({
hint: false,
highlight: true,
minLength: 1
},
{
name: 'states',
source: substringMatcher(states),
limit: 10
});