mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Update data naming for autocomplete. Backwards compatible for overrides of _renderItem. Partial fix for #7810
This commit is contained in:
parent
70de33ae6d
commit
811b377aad
15
ui/jquery.ui.autocomplete.js
vendored
15
ui/jquery.ui.autocomplete.js
vendored
@ -225,7 +225,8 @@ $.widget( "ui.autocomplete", {
|
|||||||
// custom key handling for now
|
// custom key handling for now
|
||||||
input: $(),
|
input: $(),
|
||||||
focus: function( event, ui ) {
|
focus: function( event, ui ) {
|
||||||
var item = ui.item.data( "item.autocomplete" );
|
// back compat for _renderItem using item.autocomplete
|
||||||
|
var item = ui.item.data( "ui-autocomplete-item" ) || ui.item.data( "item.autocomplete" );
|
||||||
if ( false !== self._trigger( "focus", event, { item: item } ) ) {
|
if ( false !== self._trigger( "focus", event, { item: item } ) ) {
|
||||||
// use value to match what will end up in the input, if it was a key event
|
// use value to match what will end up in the input, if it was a key event
|
||||||
if ( /^key/.test(event.originalEvent.type) ) {
|
if ( /^key/.test(event.originalEvent.type) ) {
|
||||||
@ -234,7 +235,8 @@ $.widget( "ui.autocomplete", {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
select: function( event, ui ) {
|
select: function( event, ui ) {
|
||||||
var item = ui.item.data( "item.autocomplete" ),
|
// back compat for _renderItem using item.autocomplete
|
||||||
|
var item = ui.item.data( "ui-autocomplete-item" ) || ui.item.data( "item.autocomplete" );
|
||||||
previous = self.previous;
|
previous = self.previous;
|
||||||
|
|
||||||
// only trigger when focus was lost (click on menu)
|
// only trigger when focus was lost (click on menu)
|
||||||
@ -470,13 +472,16 @@ $.widget( "ui.autocomplete", {
|
|||||||
_renderMenu: function( ul, items ) {
|
_renderMenu: function( ul, items ) {
|
||||||
var self = this;
|
var self = this;
|
||||||
$.each( items, function( index, item ) {
|
$.each( items, function( index, item ) {
|
||||||
self._renderItem( ul, item );
|
self._renderItemData( ul, item );
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
_renderItem: function( ul, item) {
|
_renderItemData: function( ul, item ) {
|
||||||
|
return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderItem: function( ul, item ) {
|
||||||
return $( "<li></li>" )
|
return $( "<li></li>" )
|
||||||
.data( "item.autocomplete", item )
|
|
||||||
.append( $( "<a></a>" ).text( item.label ) )
|
.append( $( "<a></a>" ).text( item.label ) )
|
||||||
.appendTo( ul );
|
.appendTo( ul );
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user