无需打开下拉菜单即可获取 Twitter Bloodhound Typeahead 建议
Get Twitter Bloodhound Typeahead suggestions without opening dropdown
在用户输入内容并调用 typeahead:render 后,我可以使用以下代码获取所有 Twitter Typeahead 建议。我想一直隐藏下拉菜单,只在数组中获取建议。有没有办法实现这一点,因为 typeahead:render 可能需要打开下拉菜单。
var bloodhoundData = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: localData
});
$('filter .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
source: bloodhoundData,
limit: 99999
}).on('typeahead:render', getSuggestions);
function getSuggestions() {
var suggestions = Array.prototype.slice.call(arguments, 1);
}
由于 Bloodhound.js 是一个独立的库,您不必对它使用提前输入。您可以将 bloodhound 的输入与普通文本输入相关联,然后检查 get 方法的结果。
这样的事情可能会奏效,其中 q
是输入中的文本(借用 NFL Teams 示例):
var myBloodhound = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
identify: function(obj) { return obj.name; },
local: localData
});
function getMyData(q, sync) {
myBloodhound.search(q, sync);
}
您可以查看 bloodhound documentation here and the examples here。
在用户输入内容并调用 typeahead:render 后,我可以使用以下代码获取所有 Twitter Typeahead 建议。我想一直隐藏下拉菜单,只在数组中获取建议。有没有办法实现这一点,因为 typeahead:render 可能需要打开下拉菜单。
var bloodhoundData = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: localData
});
$('filter .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
source: bloodhoundData,
limit: 99999
}).on('typeahead:render', getSuggestions);
function getSuggestions() {
var suggestions = Array.prototype.slice.call(arguments, 1);
}
由于 Bloodhound.js 是一个独立的库,您不必对它使用提前输入。您可以将 bloodhound 的输入与普通文本输入相关联,然后检查 get 方法的结果。
这样的事情可能会奏效,其中 q
是输入中的文本(借用 NFL Teams 示例):
var myBloodhound = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
identify: function(obj) { return obj.name; },
local: localData
});
function getMyData(q, sync) {
myBloodhound.search(q, sync);
}
您可以查看 bloodhound documentation here and the examples here。