interact.js is a standalone javascript module for handling single-pointer and multi-touch drags and gestures with powerful options such as inertia and snapping to grids or custom coordintes
M. Dörk, S. Carpendale, and C. Williamson. Proceedings of the International Working Conference on Advanced Visual Interfaces, page 233--240. New York, NY, USA, ACM, (2012)