Interact.js is a powerful, flexible, snappable drag and drop, resizing and multi-touch gestures for modern browsers (and also IE8+) javascript library.
Features:
- snapping to a grid, custom anchors or paths.
- cross browser and device, supporting {Chrome,Firefox,Opera}’ ‘{mobile,desktop}’, ‘ and Internet Explorer 8+
- interaction with SVG elements
- being standalone (not yet another jQuery plugin)
- introducing 0 additional DOM elements
- having(a). fluent ().interface
- not modifying anything it doesn’t own (except to support IE8 and to change the cursor (but you can disable that))