7

Is it possible to achieve drag and drop using basic jQuery script (without using jQuery UI)?

koppor
  • 19,079
  • 15
  • 119
  • 161
Anish
  • 872
  • 5
  • 21
  • 42

1 Answers1

16

In HTML5, there's an attribute called "draggable".

<div draggable='true'>Drag me</div>
<div id='dropzone'>Drop it here!</div>

You could make use of the following events:

var onDragEnter = function(event) {
    event.preventDefault();
    $("#dropzone").addClass("dragover");
}, 

onDragOver = function(event) {
    event.preventDefault(); 
    if(!$("#dropzone").hasClass("dragover"))
        $("#dropzone").addClass("dragover");
}, 

onDragLeave = function(event) {
    event.preventDefault();
    $("#dropzone").removeClass("dragover");
},

onDrop = function(event) {
    event.preventDefault();
    $("#dropzone").removeClass("dragover");
    console.log(event.originalEvent.dataTransfer.files);
};

$("#dropzone")
.on("dragenter", onDragEnter)
.on("dragover", onDragOver)
.on("dragleave", onDragLeave)
.on("drop", onDrop);

Hope that helps for the moment.

Andrea Ligios
  • 49,480
  • 26
  • 114
  • 243
Harti
  • 1,480
  • 12
  • 16