mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Autocomplete: Do not set value on multi-line input
This fixes an issue where contenteditable text was getting overwritten when wrapping past the bottom or top of the autocomplete menu. Fixes #9771 Closes gh-1184
This commit is contained in:
parent
ccb13240dd
commit
605a20ef06
@ -163,6 +163,32 @@ test( "allow form submit on enter when menu is not active", function() {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
asyncTest( "past end of menu in multiline autocomplete", function() {
|
||||||
|
expect( 2 );
|
||||||
|
|
||||||
|
var customVal = "custom value",
|
||||||
|
element = $( "#autocomplete-contenteditable" ).autocomplete({
|
||||||
|
delay: 0,
|
||||||
|
source: [ "javascript" ],
|
||||||
|
focus: function( event, ui ) {
|
||||||
|
equal( ui.item.value, "javascript", "Item gained focus" );
|
||||||
|
$( this ).text( customVal );
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
element
|
||||||
|
.simulate( "focus" )
|
||||||
|
.autocomplete( "search", "ja" );
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||||
|
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||||
|
equal( element.text(), customVal );
|
||||||
|
start();
|
||||||
|
}, 50 );
|
||||||
|
});
|
||||||
|
|
||||||
asyncTest( "handle race condition", function() {
|
asyncTest( "handle race condition", function() {
|
||||||
expect( 3 );
|
expect( 3 );
|
||||||
var count = 0,
|
var count = 0,
|
||||||
|
@ -545,7 +545,11 @@ $.widget( "ui.autocomplete", {
|
|||||||
}
|
}
|
||||||
if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
|
if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
|
||||||
this.menu.isLastItem() && /^next/.test( direction ) ) {
|
this.menu.isLastItem() && /^next/.test( direction ) ) {
|
||||||
this._value( this.term );
|
|
||||||
|
if ( !this.isMultiLine ) {
|
||||||
|
this._value( this.term );
|
||||||
|
}
|
||||||
|
|
||||||
this.menu.blur();
|
this.menu.blur();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user