2010-03-12 03:18:34 +00:00
<!DOCTYPE html>
2009-01-15 21:57:33 +00:00
< html lang = "en" >
< head >
2010-09-10 13:17:58 +00:00
< meta charset = "utf-8" >
2009-01-15 21:57:33 +00:00
< title > jQuery UI Draggable - Cursor style< / title >
2010-09-10 13:17:58 +00:00
< link rel = "stylesheet" href = "../../themes/base/jquery.ui.all.css" >
2011-11-22 13:43:09 +00:00
< script src = "../../jquery-1.7.1.js" > < / script >
2010-09-10 13:17:58 +00:00
< script src = "../../ui/jquery.ui.core.js" > < / script >
< script src = "../../ui/jquery.ui.widget.js" > < / script >
2012-01-28 15:45:55 +00:00
< script src = "../../ui/jquery.ui.interaction.js" > < / script >
2010-09-10 13:17:58 +00:00
< script src = "../../ui/jquery.ui.draggable.js" > < / script >
< link rel = "stylesheet" href = "../demos.css" >
< style >
2009-02-27 04:06:52 +00:00
#draggable, #draggable2, #draggable3 { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 0 10px 10px 0; }
2009-01-15 21:57:33 +00:00
< / style >
2010-09-10 13:17:58 +00:00
< script >
2012-01-28 15:45:55 +00:00
$.ui.draggable.prototype.options.cursorAt = null;
$( document ).bind( "dragbeforestart", function( event, ui ) {
var cursorAt, elem,
draggable = $( event.target ).data( "draggable" );
if ( !draggable || !draggable.options.cursorAt ) {
return;
}
elem = ui.helper || draggable.element;
cursorAt = draggable.options.cursorAt;
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;
}
});
2009-01-15 21:57:33 +00:00
$(function() {
2012-01-28 15:45:55 +00:00
$( "#draggable" ).draggable({ cursorAt: { top: 56, left: 56 } });
$( "#draggable2" ).draggable({ cursorAt: { top: -5, left: -5 } });
2010-09-10 13:17:58 +00:00
$( "#draggable3" ).draggable({ cursorAt: { bottom: 0 } });
2009-01-15 21:57:33 +00:00
});
< / script >
< / head >
< body >
2010-09-10 13:17:58 +00:00
2009-01-15 21:57:33 +00:00
< div class = "demo" >
2012-01-28 15:45:55 +00:00
2009-01-15 21:57:33 +00:00
< div id = "draggable" class = "ui-widget-content" >
2012-01-28 15:45:55 +00:00
< p > I will always stick to the center (relative to the pointer)< / p >
2009-01-15 21:57:33 +00:00
< / div >
< div id = "draggable2" class = "ui-widget-content" >
< p > My cursor is at left -5 and top -5< / p >
< / div >
< div id = "draggable3" class = "ui-widget-content" >
< p > My cursor position is only controlled for the 'bottom' value< / p >
< / div >
< / div > <!-- End demo -->
2010-09-10 13:17:58 +00:00
< div class = "demo-description" >
2012-01-28 15:45:55 +00:00
< p > Position the cursor while dragging the object. By default the cursor appears wherever the user started the drag; use the < code > cursorAt< / code > option to specify another location relative to the draggable (specify a pixel value from the top, right, bottom, and/or left).< / p >
2009-01-15 21:57:33 +00:00
< / div > <!-- End demo - description -->
2010-09-10 13:17:58 +00:00
2009-01-15 21:57:33 +00:00
< / body >
< / html >