This is an old question, but I used the answers to this question and wrote the code I want:
HTML:
<div id="image_holder" ondragover="dragEnter(this,event)"></div>
JQuery
function dragEnter(a,evt) { evt.stopPropagation(); evt.preventDefault(); $(evt.target).addClass('over'); $(a).bind("dragleave", dragLeave); $(a).bind("drop", drop); $(document).bind('dragover', function (e) { e.stopPropagation(); e.preventDefault(); }); return false; } function dragLeave(evt) { evt.stopPropagation(); evt.preventDefault(); $(evt.target).removeClass('over'); return false; } function drop(evt) { evt.stopPropagation(); evt.preventDefault(); $(evt.target).removeClass('over'); }
This has a privilege that you can easily use for different elements on the page.
source share