Sortable: Inject a CSS rule to style the cursor. Fixed #7389 - sortable: 'cursor' option didn't override CSS cursor settings.

This commit is contained in:
Nathanael Silverman 2013-02-13 17:34:52 +01:00 committed by Scott González
parent f78c8ca22c
commit a692bf9b70

View File

@ -158,7 +158,7 @@ $.widget("ui.sortable", $.ui.mouse, {
_mouseStart: function(event, overrideHandle, noActivation) {
var i,
var i, body,
o = this.options;
this.currentContainer = this;
@ -228,11 +228,14 @@ $.widget("ui.sortable", $.ui.mouse, {
this._setContainment();
}
if(o.cursor) { // cursor option
if ($("body").css("cursor")) {
this._storedCursor = $("body").css("cursor");
}
$("body").css("cursor", o.cursor);
if( o.cursor && o.cursor !== "auto" ) { // cursor option
body = this.document.find( "body" );
// support: IE
this.storedCursor = body.css( "cursor" );
body.css( "cursor", o.cursor );
this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
}
if(o.opacity) { // opacity option
@ -1178,8 +1181,9 @@ $.widget("ui.sortable", $.ui.mouse, {
}
//Do what was originally in plugins
if(this._storedCursor) {
$("body").css("cursor", this._storedCursor);
if ( this.storedCursor ) {
this.document.find( "body" ).css( "cursor", this.storedCursor );
this.storedStylesheet.remove();
}
if(this._storedOpacity) {
this.helper.css("opacity", this._storedOpacity);