Twitter Typeahead非常棒,除了这个问题之外,它确实满足了我的需要。
在向我的团队展示此内容后,大家达成了一致的共识,即输入框中显示的是最高结果,单击Enter即可填写该框。单击右箭头按钮会发生这种情况,因此可以填写它,我只需要知道按Enter即可执行的操作。
我尝试遍历代码,以找出当输入框显示建议时按右击是做什么的,但是它们都是高度优化的并且不太可读。
我在想,如果我找不到合适的方法,可能只需要做一些骇人听闻的解决方案即可。从字面上看,只要说输入框是否对准焦点,然后按Enter键,它就会“按”右箭头。我知道这是可怕的做法。
这里是Typeahead和Bloodhound的初始化代码。
// constructs the suggestion engine
var townsSearch = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: towns
});
$('#bloodhound .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'towns',
source: townsSearch,
limit: 5
});
任何帮助将不胜感激,我真的感觉自己可能会遗漏一些明显的东西。