An extension to the base Drag class with additional functionality for dragging an Element. Supports snapping and droppables. Inherits methods, properties, options and events from Drag.
Drag.Move requires an XHTML doctype.
var myMove = new Drag.Move(myElement[, options]);
All the base Drag options, plus:
droppables - (array) The Elements that the draggable can drop into.
Interaction with droppable work with events fired on the doppable element or, for 'emptydrop', on the dragged element.
The Events 'over', 'leave' and 'drop' get fired on the droppable element with the dragged element as first argument when the dragged element hovers,leaves or get dropped on the droppable.
All the base Drag properties, plus:
var droppables = $$('li.placements').addEvents({ 'over': function() { this.addClass('overed'); }, 'leave': function() { this.removeClass('overed'); }, 'drop': function(el) { alert(el.id + ' dropped'); } }); var myMove = new Drag.Move('product-placement', { 'droppables': droppables });
Checks if the Element is above a droppable and fires the drop event. Else, fires the 'emptydrop' event that is attached to this Element. Lastly, calls the Drag Class stop method.
myMove.stop();
var myElement = $('myElement').addEvent('emptydrop', function(){ alert('no drop occurred'); }); var myMove = new Drag.Move(myElement, { onSnap: function(){ // due to MooTool's inheritance, all [Drag][]'s Events are also available. this.moved = this.moved || 0; this.moved++; if(this.moved > 1000){ alert("You've gone far enough."); this.stop(); } } });
Custom Native to allow all of its methods to be used with any DOM element via the dollar function $.
Adds drag-to-move behavior to an Element using supplied options.
var myDrag = myElement.makeDraggable([options]);
var myDrag = $('myElement').makeDraggable({ onComplete: function(){ alert('done dragging'); } });
This documentation is released under a Attribution-NonCommercial-ShareAlike 3.0 License.