2012-07-20 60 views
1

當我通過鍵盤箭頭選擇一個項目時,輸入字段中的選擇會按預期更改。但是,如果我隨後將鼠標移出項目,則輸入字段將恢復爲用戶輸入的內容,從而失去以前通過鍵盤進行的選擇。jQuery自動完成在鼠標上失去選擇

jsfiddle example

documentation聲稱,我想要做到的是事實上的默認行爲,但它似乎沒有工作。

另一個參考提的是,行爲似乎有所改變:http://forum.jquery.com/topic/autocomplete-s-menu-items-mouseover-behavior#14737000002991273

我目前使用jQuery的導軌2.0.2,其拉動jQuery的1.7.2。

回答

0

當我在你的小提琴中註釋掉Javascript的最後一行時,預期的行爲會再次開始工作。

我不完全確定爲什麼,但它看起來像你調用自動完成腳本兩次,也許他們以某種方式干擾對方。 「

+0

我從前面的SO問題中分出了小提琴。確實,看起來第二個電話是不必要的。我刪除了它,但它不能解決我的問題(OSX上的Chrome/Firefox)。 – 2012-07-20 23:41:50

+0

這裏同樣的問題 – Sentinel 2012-09-12 08:35:02

0

」在將焦點移動到某個項目(未選中)之前,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