From: Scott González Date: Tue, 20 Jul 2010 16:10:58 +0000 (-0400) Subject: Autocomplet: refactored handling of menu's selected event. X-Git-Tag: 1.8.3~36 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e4273ff6212040bd721184d661a39f046c4a461d;p=jquery-ui.git Autocomplet: refactored handling of menu's selected event. --- diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js index 602d5a545..7056e07f5 100644 --- a/ui/jquery.ui.autocomplete.js +++ b/ui/jquery.ui.autocomplete.js @@ -123,23 +123,20 @@ $.widget( "ui.autocomplete", { }, selected: function( event, ui ) { var item = ui.item.data( "item.autocomplete" ), - setValue = false; - if ( false !== self._trigger( "select", event, { item: item } ) ) { - // #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 ); + previous = self.previous; + // only trigger when focus was lost (click on menu) - var previous = self.previous; if ( self.element[0] !== doc.activeElement ) { self.element.focus(); self.previous = previous; } - self.selectedItem = item; - if ( setValue ) { + + if ( false !== self._trigger( "select", event, { item: item } ) ) { self.element.val( item.value ); } + + self.close( event ); + self.selectedItem = item; }, blur: function( event, ui ) { if ( self.menu.element.is(":visible") ) {