DragDrop
A JavaScript micro-framework for adding drag-and-drop functionality to elements for advanced UI development
Install / Use
/learn @kbjr/DragDropREADME
h1. DragDrop
h3. A JavaScript micro-framework for adding drag-and-drop functionality to elements for advanced UI development
Author: James Brumond Version: 0.2.3-beta
Copyright 2011 James Brumond Dual licensed under MIT and GPL
h4. Notice
The change to version 0.2.1-beta is NOT backwards compatible. Make sure to look over the samples below.
h2. Features
- Simple and intuitive interface
- Option to seperate the event target from the dragged element
- Bindable dragstart/drag/dragend events
- Option to define bounding boxes (new in version 0.2.1-beta)
- Very lightweight (only 1.8kb minified and gzipped)
h2. Samples! :)
<pre><code>// Make myElement drag-and-drop enabled DragDrop.bind(myElement); // A more complex version var draggable = DragDrop.bind(myElement, { // The anchor; myElement moves when anotherElement is dragged anchor: anotherElement, // The draggable element will now stay bound within it's offsetParent boundingBox: 'offsetParent', // Define a dragstart event dragstart: function(evt) { // ... } }); // Change the bounding box to some manual positions draggable.setBoundingBox({ x: { min: 0, max: 600 }, y: { min: 0, max: 400 } }); // Define a new dragend event draggable.bindEvent('dragend', function(evt) { // ... }); // This is how you would remove a drag event (if one were defined above) draggable.unbindEvent('drag', theBoundDragEventFunction);</code></pre>