Skip to content

Instantly share code, notes, and snippets.

@m-arrieta-r
Last active August 20, 2016 14:33
Show Gist options
  • Save m-arrieta-r/86ab40a1c44cb7485fb31d3de6a3b08b to your computer and use it in GitHub Desktop.
Save m-arrieta-r/86ab40a1c44cb7485fb31d3de6a3b08b to your computer and use it in GitHub Desktop.
// Parameter1 HTMLElement
// Parameter2 callback
var draggable = function(element, onDragFunction) {
var mouseDownEvent;
var onMouseMove = function (mouseMoveEvent) {
onDragFunction(this.mouseDownEvent, mouseMoveEvent);
}
var addMouseDragEvent = function (mouseDownEvent) {
this.mouseDownEvent = mouseDownEvent;
if(typeof mouseDownEvent.target.setCapture === 'function' ){
mouseDownEvent.target.setCapture();
}
element.addEventListener('mousemove', onMouseMove);
};
var removeMouseMoveEvent = function () {
element.removeEventListener('mousemove', onMouseMove);
};
element.addEventListener('mouseup', removeMouseMoveEvent);
element.addEventListener('mouseleave', removeMouseMoveEvent);
element.addEventListener('mousedown', addMouseDragEvent);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment