mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Core: Fixed .disableSelect() and .enableSelect() in all browsers. Fixes #5723 - disableSelection() doesn't work cross-browser.
This commit is contained in:
parent
a3d9a91661
commit
16e93d5189
63
ui/jquery.ui.core.js
vendored
63
ui/jquery.ui.core.js
vendored
@ -73,18 +73,6 @@ $.fn.extend({
|
||||
this._focus.apply( this, arguments );
|
||||
},
|
||||
|
||||
enableSelection: function() {
|
||||
return this
|
||||
.attr( "unselectable", "off" )
|
||||
.css( "MozUserSelect", "" );
|
||||
},
|
||||
|
||||
disableSelection: function() {
|
||||
return this
|
||||
.attr( "unselectable", "on" )
|
||||
.css( "MozUserSelect", "none" );
|
||||
},
|
||||
|
||||
scrollParent: function() {
|
||||
var scrollParent;
|
||||
if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {
|
||||
@ -130,6 +118,57 @@ $.fn.extend({
|
||||
}
|
||||
});
|
||||
|
||||
(function() {
|
||||
var elem = document.createElement( "div" ),
|
||||
style = elem.style,
|
||||
userSelectProp = "userSelect" in style && "userSelect";
|
||||
|
||||
if ( !userSelectProp ) {
|
||||
$.each( [ "Moz", "Webkit", "Khtml" ], function( i, prefix ) {
|
||||
var vendorProp = prefix + "UserSelect";
|
||||
if ( vendorProp in style ) {
|
||||
userSelectProp = vendorProp;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
var selectStart = !userSelectProp && "onselectstart" in elem && "selectstart.mouse";
|
||||
|
||||
elem = null;
|
||||
|
||||
$.fn.extend({
|
||||
disableSelection: function() {
|
||||
if ( userSelectProp ) {
|
||||
this.css( userSelectProp, "none" );
|
||||
} else {
|
||||
this.find( "*" ).andSelf().attr( "unselectable", "on" );
|
||||
}
|
||||
|
||||
if ( selectStart ) {
|
||||
this.bind( selectStart, function() {
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
enableSelection: function() {
|
||||
if ( userSelectProp ) {
|
||||
this.css( userSelectProp, "" );
|
||||
} else {
|
||||
this.find( "*" ).andSelf().attr( "unselectable", "off" );
|
||||
}
|
||||
|
||||
if ( selectStart ) {
|
||||
this.unbind( selectStart );
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||
$.each( [ "Width", "Height" ], function( i, name ) {
|
||||
var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
|
||||
type = name.toLowerCase(),
|
||||
|
Loading…
Reference in New Issue
Block a user