mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Autocomplete: Don't update the value of the text field until after setting focus. Fixes #5639 - Cursor jumps to beginning on select.
This commit is contained in:
parent
5e3755af8a
commit
53489b502d
10
ui/jquery.ui.autocomplete.js
vendored
10
ui/jquery.ui.autocomplete.js
vendored
@ -132,9 +132,12 @@ $.widget( "ui.autocomplete", {
|
||||
}
|
||||
},
|
||||
selected: function( event, ui ) {
|
||||
var item = ui.item.data( "item.autocomplete" );
|
||||
var item = ui.item.data( "item.autocomplete" ),
|
||||
setValue = false;
|
||||
if ( false !== self._trigger( "select", event, { item: item } ) ) {
|
||||
self.element.val( item.value );
|
||||
// #5639 - if we set the value before setting focus
|
||||
// the cursor will move to the beginning of the field in IE
|
||||
setValue = true;
|
||||
}
|
||||
self.close( event );
|
||||
// only trigger when focus was lost (click on menu)
|
||||
@ -144,6 +147,9 @@ $.widget( "ui.autocomplete", {
|
||||
self.previous = previous;
|
||||
}
|
||||
self.selectedItem = item;
|
||||
if ( setValue ) {
|
||||
self.element.val( item.value );
|
||||
}
|
||||
},
|
||||
blur: function( event, ui ) {
|
||||
if ( self.menu.element.is(":visible") ) {
|
||||
|
Loading…
Reference in New Issue
Block a user