Перетаскивание с использованием базового фреймворка jQuery - PullRequest
5 голосов
/ 06 марта 2012

Можно ли добиться перетаскивания с помощью базового сценария jQuery (без использования пользовательского интерфейса jQuery)?

1 Ответ

13 голосов
/ 06 марта 2012

В HTML5 есть атрибут «draggable».

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

Вы можете использовать следующие события:

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);

Надеюсь, что на данный момент помогает.

...