目前,在选定元素上按 Enter 键时的自动完成操作是将元素值放入输入框中。
如何修改行为,以便按元素上的 Enter 键触发该元素嵌入的 url。为了简化,我想让 Enter 键具有与鼠标单击返回的元素相同的行为。
谢谢
$('#search_input').autocomplete(
{
//autoselect: true,
//autoselectOnBlur: true,
hint : false,
templates: {
dropdownMenu: '#my-custom-menu-template',
}
},
[
{
source: $.fn.autocomplete.sources.hits(indexProducts, { hitsPerPage: 5 }),
name : 'products',
displayKey: 'name',
templates: {
suggestion: function(suggestion) {
return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+'</a>';
}
}
},
{
source: $.fn.autocomplete.sources.hits(indexCategories, { hitsPerPage: 5 }),
name : 'categories',
displayKey: 'name',
templates: {
suggestion: function(suggestion) {
return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+' en <b>' + suggestion.parent_name+'</b></a>';
}
}
}
]).on('autocomplete:selected', function(event, suggestion, dataset) {
console.log(suggestion, dataset);
});
解决方案添加自动完成:所选事件:
$('#search_input').autocomplete(
{
//autoselect: true,
//autoselectOnBlur: true,
hint : false,
templates: {
dropdownMenu: '#my-custom-menu-template',
}
},
[
{
source: $.fn.autocomplete.sources.hits(indexProducts, { hitsPerPage: 5 }),
name : 'products',
displayKey: 'name',
templates: {
suggestion: function(suggestion) {
return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+'</a>';
}
}
},
{
source: $.fn.autocomplete.sources.hits(indexCategories, { hitsPerPage: 5 }),
name : 'categories',
displayKey: 'name',
templates: {
suggestion: function(suggestion) {
return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+' en <b>' + suggestion.parent_name+'</b></a>';
}
}
}
]).on('autocomplete:selected', function(event, suggestion, dataset) {
location.href = suggestion.url;
});