JSFiddle - React, Tailwind, and code Playground
HTML
<div id="draggable"></div>
CSS
#draggable {
position: absolute;
width: 50px;
height: 50px;
background: grey;
}
JavaScript
$('#draggable').on('mousedown', function (evt) {
var offset = {x: evt.offsetX || evt.originalEvent.layerX, y: evt.offsetY || evt.originalEvent.layerY};
// bind mousemove only if dragging is actually happening
$(document).on({
// delegate the mousemove event to the draggable element
'mousemove.drag': $.proxy(function(evt) {
$(this).css({left: evt.pageX - offset.x, top: evt.pageY - offset.y});
}, this),
// unbind namespaced events on mouseup
'mouseup.drag': function (evt) {
$(document).off('.drag');
}
});
return false;
});