使用jQuery的ondragstart事件

Hen*_*son 13 jquery

我一直在尝试使用Javascript拖放API.

var file = document.getElementById('file');
file.addEventListener('dragstart', function(evt){
  evt.dataTransfer.setData("DownloadURL",fileDetails);
}, false);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但有没有办法使用jQuery"on"来捕捉事件?我试过了

$('#file').on('dragstart', function(evt) {
   console.log(evt.dataTransfer);                    // this returns undefined
   evt.dataTransfer.data("DownloadURL",fileDetails); // so this produces error
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

如果可能的话,我不想使用jQuery draggable插件,因为我并不是真的想要一个跨浏览器的解决方案.

谢谢

A. *_*lff 23

您必须使用originalEventjquery事件的属性来访问javascript侦听器的本机属性,如下所示:

evt.originalEvent.dataTransfer
Run Code Online (Sandbox Code Playgroud)