mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Draggable: Fixed variable casing + added cursorAt backCompat based on cursor-style.html demo
This commit is contained in:
parent
4626c2bb34
commit
f1f1b8d97e
57
ui/jquery.ui.draggable.js
vendored
57
ui/jquery.ui.draggable.js
vendored
@ -486,7 +486,7 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
_create : function() {
|
||||
|
||||
var start_left, start_top;
|
||||
var startLeft, startTop;
|
||||
|
||||
this._super();
|
||||
|
||||
@ -495,12 +495,12 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
// Cache starting top position to keep it from moving
|
||||
this.element.on( 'dragbeforestart', function( e, ui ) {
|
||||
start_top = ui.position.top;
|
||||
startTop = ui.position.top;
|
||||
});
|
||||
|
||||
// On drag, make sure top does not change so axis is locked
|
||||
this.element.on( 'drag', function( e, ui ) {
|
||||
ui.position.top = start_top;
|
||||
ui.position.top = startTop;
|
||||
});
|
||||
|
||||
}
|
||||
@ -509,12 +509,12 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
// Cache starting left position to keep it from moving
|
||||
this.element.on( 'dragbeforestart', function( e, ui ) {
|
||||
start_left = ui.position.left;
|
||||
startLeft = ui.position.left;
|
||||
});
|
||||
|
||||
// On drag, make sure top does not change so axis is locked
|
||||
this.element.on( 'drag', function( e, ui ) {
|
||||
ui.position.left = start_left;
|
||||
ui.position.left = startLeft;
|
||||
});
|
||||
|
||||
}
|
||||
@ -530,7 +530,7 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
_create : function() {
|
||||
|
||||
var start_cursor, self, body;
|
||||
var startCursor, self, body;
|
||||
|
||||
this._super();
|
||||
|
||||
@ -541,7 +541,7 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
// Cache original cursor to set back
|
||||
this.element.on( 'dragbeforestart', function( e, ui ) {
|
||||
start_cursor = body.css( 'cursor' );
|
||||
startCursor = body.css( 'cursor' );
|
||||
});
|
||||
|
||||
// Set cursor to what user wants during drag
|
||||
@ -553,8 +553,8 @@ if ( $.uiBackCompat !== false ) {
|
||||
this.element.on( 'dragstop', function( e, ui ) {
|
||||
|
||||
// Make sure something was actually reported back before setting body
|
||||
if ( start_cursor ) {
|
||||
body.css( 'cursor', start_cursor );
|
||||
if ( startCursor ) {
|
||||
body.css( 'cursor', startCursor );
|
||||
}
|
||||
|
||||
});
|
||||
@ -565,4 +565,43 @@ if ( $.uiBackCompat !== false ) {
|
||||
|
||||
});
|
||||
|
||||
// cursorAt option
|
||||
$.widget( "ui.draggable", $.ui.draggable, {
|
||||
options: {
|
||||
cursorAt: false
|
||||
},
|
||||
|
||||
_create : function() {
|
||||
|
||||
var cursorAt, elem;
|
||||
|
||||
this._super();
|
||||
|
||||
|
||||
if ( !this.options.cursorAt ) {
|
||||
return;
|
||||
}
|
||||
|
||||
elem = this.dragEl;
|
||||
cursorAt = this.options.cursorAt;
|
||||
|
||||
this.element.on( 'dragbeforestart', function( e, ui ) {
|
||||
if ( "top" in cursorAt ) {
|
||||
ui.position.top += ui.pointer.y - ui.offset.top - cursorAt.top;
|
||||
}
|
||||
if ( "left" in cursorAt ) {
|
||||
ui.position.left += ui.pointer.x - ui.offset.left - cursorAt.left;
|
||||
}
|
||||
if ( "bottom" in cursorAt ) {
|
||||
ui.position.top += ui.pointer.y - ui.offset.top - elem.outerHeight() + cursorAt.bottom;
|
||||
}
|
||||
if ( "right" in cursorAt ) {
|
||||
ui.position.left += ui.pointer.x - ui.offset.left - elem.outerWidth() + cursorAt.right;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user