2

我正在使用 jQuery UI 1.10.2,我想手动突出显示/聚焦列表中的一个项目。基本上,我正在尝试实现类似 HTML 选择的行为:

  • 应始终显示来自源的所有结果
  • 在 inout 字段中键入时,应突出显示最佳匹配,不应过滤列表
  • 当用户选择一个项目时,建议列表关闭。当用户专注于输入时,应打开建议列表并突出显示所选值。

我可以在输入焦点上成功打开建议列表而不过滤结果列表,但是我很难弄清楚在打开自动完成建议列表和键入时如何手动突出显示/聚焦所选元素 - 我能够找到匹配的项目,但不知道如何“激活”它。

我试过这个:

open: function() {
  // Find the selected menu item...
  var $menuEl = ...
  $(this).data("uiAutocomplete").menu.focus(new $.Event("mouseover"), $menuEl );
}

但这似乎不起作用。

4

1 回答 1

1

似乎传递null而不是事件使它起作用:

$(this).data("uiAutocomplete").menu.focus(null, $menuEl );

FWIW:我创建事件是因为旧版本的 jQuery UI 菜单需要它。从那时起,UI 菜单似乎发生了很大变化。

于 2013-07-04T12:35:03.723 回答