JQuery自动完成:获取当前关注的<li>

nul*_*ull 6 jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

当用户鼠标悬停或以其他方式突出显示其中一个<li>选项时,JQuery自动完成会触发焦点事件.在这个事件中,我想引用<li>当前关注的内容,但我无法弄清楚如何选择它.目前,我有:

focus: function( event, ui ) {
  var target = event.currentTarget
  alert($(target).html())
}
Run Code Online (Sandbox Code Playgroud)

但这会返回整个<li>s 列表,而不仅仅是当前关注的列表.我尝试过其他事件方法,例如event.delegateTarget和event.target,但没有成功.有没有其他方法来获得专注的元素?

And*_*ker 8

你将不得不:

  1. 抓取自动完成正在使用的菜单小部件.
  2. 获得li当前关注的内容(这li有一个aui-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`
    }
    
    Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/J5rVP/43/