<li>
个选项时, JQuery Autocomplete会触发焦点事件。在这个事件中,我想引用当前关注的<li>
,但我无法弄清楚如何选择它。目前,我有:
focus: function( event, ui ) {
var target = event.currentTarget
alert($(target).html())
}
但是这会返回<li>
s的整个列表,而不仅仅是当前关注的列表。我尝试过其他事件方法,例如event.delegateTarget和event.target,但没有成功。是否有其他方法可以获得重点元素?
答案 0 :(得分:8)
你将不得不:
获取当前关注的li
(此li
有一个a
,其中包含课程ui-state-focus
focus: function (event, ui) {
var menu = $(this).data("uiAutocomplete").menu.element,
focused = menu.find("li:has(a.ui-state-focus)");
// focused is the focused `li`
}
答案 1 :(得分:1)
使用以下内容时是否有任何缺点?
focus: function(event, ui) {
$(".ui-autocomplete li").removeClass("ui-state-hover");
$(".ui-autocomplete").find("li:has(a.ui-state-focus)").addClass("ui-state-hover");
}