【问题标题】:jQuery Autocomplete loses selection on mouse outjQuery Autocomplete 在鼠标移出时失去选择
【发布时间】:2012-07-20 03:30:43
【问题描述】:

当我通过键盘箭头选择一个项目时,输入字段中的选择会按预期更改。但是,如果我随后将鼠标移出项目,输入字段将恢复为用户键入的内容,从而丢失之前通过键盘所做的选择。

jsfiddle example

documentation 声称我想要完成的实际上是默认行为,但它似乎不起作用。

另一个提到行为似乎已经改变的参考:http://forum.jquery.com/topic/autocomplete-s-menu-items-mouseover-behavior#14737000002991273

我目前正在使用 jquery-rails 2.0.2,它引入了 jQuery-1.7.2。

【问题讨论】:

    标签: jquery jquery-ui autocomplete jquery-autocomplete


    【解决方案1】:

    当我在你的小提琴中注释掉最后一行 Javascript 时,预期的行为又开始起作用了。

    我不完全确定为什么,但您似乎调用了两次自动完成脚本,并且它们可能以某种方式相互干扰。

    【讨论】:

    • 我从以前的 SO 问题中分出了小提琴。确实,看起来第二次通话是不必要的。我已将其删除,但它并没有为我解决问题(OSX 上的 Chrome/Firefox)。
    【解决方案2】:

    "在焦点被移动到一个项目(不是选择)之前,ui.item 指的是焦点项目。焦点的默认操作是用焦点项目的值替换文本字段的值,尽管只有当焦点事件由键盘交互触发。取消此事件可防止更新值,但不会阻止菜单项获得焦点。"

    文本居所是描述焦点事件的内容。
    如果你看一下,上面写着The default action of focus is to replace the text field's value with the value of the focused item, though only if the focus event was triggered by a keyboard interaction.

    因此,如您所见,demo 显示选项获得焦点但值没有改变。

    reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-18
      • 2011-09-23
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 2012-11-25
      相关资源
      最近更新 更多