【发布时间】:2016-06-16 08:17:36
【问题描述】:
目前,在选定元素上按 Enter 键时的自动完成操作是将该元素值放入输入框中。
如何修改行为,以便按下元素上的 Enter 键会触发该元素嵌入的 url。为了简化,我想让 Enter 键具有与鼠标单击返回元素相同的行为。
谢谢
【问题讨论】:
标签: javascript jquery jquery-ui autocomplete
目前,在选定元素上按 Enter 键时的自动完成操作是将该元素值放入输入框中。
如何修改行为,以便按下元素上的 Enter 键会触发该元素嵌入的 url。为了简化,我想让 Enter 键具有与鼠标单击返回元素相同的行为。
谢谢
【问题讨论】:
标签: javascript jquery jquery-ui autocomplete
简单!
$(".quicksearch-input").autocomplete({
minLength: 4, // minimum length to trigger suggestions
// ... + other configuration options
select: function(e, ui) { // define select handler
var uri = ui.item.link; // where ui.item.link itself is defined in your object which you composing when retrieving JSON from endpoint
window.location = uri; // forwarding to the URL obtained
}, // select //
});
但一切都取决于你的实施方式。
【讨论】:
这是当您选择一个项目并按 Enter 时调用的函数。您在此函数中看到的 hacky 代码会从链接中提取 href 并重定向到该 url。
$("#searchBox").result(function(event, data, formatted) {
var p = data.toString();
p = p.replace('<a href="', '');
var url = p.substr(0, p.indexOf('"'));
p = p.replace('</a>', '');
p = p.substr(p.indexOf('>') + 1, p.length - p.indexOf('>') - 1);
window.location = "" + url;
return false;
});
【讨论】: