mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
Autocomplete: Work around isContentEditable
bug in Chrome
Fixes #14917 Closes gh-1673
This commit is contained in:
parent
58d8b17fe3
commit
cbceca7091
@ -82,7 +82,7 @@ $.widget( "ui.autocomplete", {
|
|||||||
// Inputs are always single-line, even if inside a contentEditable element
|
// Inputs are always single-line, even if inside a contentEditable element
|
||||||
// IE also treats inputs as contentEditable
|
// IE also treats inputs as contentEditable
|
||||||
// All other element types are determined by whether or not they're contentEditable
|
// All other element types are determined by whether or not they're contentEditable
|
||||||
this.isMultiLine = isTextarea || !isInput && this.element.prop( "isContentEditable" );
|
this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element );
|
||||||
|
|
||||||
this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
|
this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
|
||||||
this.isNewMenu = true;
|
this.isNewMenu = true;
|
||||||
@ -614,6 +614,24 @@ $.widget( "ui.autocomplete", {
|
|||||||
// Prevents moving cursor to beginning/end of the text field in some browsers
|
// Prevents moving cursor to beginning/end of the text field in some browsers
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Support: Chrome <=50
|
||||||
|
// We should be able to just use this.element.prop( "isContentEditable" )
|
||||||
|
// but hidden elements always report false in Chrome.
|
||||||
|
// https://code.google.com/p/chromium/issues/detail?id=313082
|
||||||
|
_isContentEditable: function( element ) {
|
||||||
|
if ( !element.length ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var editable = element.prop( "contentEditable" );
|
||||||
|
|
||||||
|
if ( editable === "inherit" ) {
|
||||||
|
return this._isContentEditable( element.parent() );
|
||||||
|
}
|
||||||
|
|
||||||
|
return editable === "true";
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user