|<- [[vpfjsphp:Starting to drag]]|[[vpfjsphp:Dealing with layers]] ->| html5rocks.com/en/tutorials/dnd/basics/ - dragstart - drag - dragenter - dragleave - dragover - drop - dragend (...) function move_start(e) { e.preventDefault(); } function move_drag_over(e) { e.preventDefault(); // preventing quircky behaviour } function moveDrop(e) { e.preventDefault(); which_art.style.left = e.pageX - my_x + 'px'; which_art.style.top = e.pageY - my_y + 'px'; } (...) document.querySelector("body").addEventListener("dragstart", move_start, false); document.querySelector("body").addEventListener("dragover", move_drag_over, false); document.querySelector("body").addEventListener("drop", move_drop, false);