使用jQuery的ondragstart事件

时间:2013-07-17 10:30:11

标签: jquery

我一直在尝试使用Javascript Drag and Drop API。

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

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

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

但它不起作用。

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

由于

2 个答案:

答案 0 :(得分:21)

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

evt.originalEvent.dataTransfer

答案 1 :(得分:0)

$('#file').on('dragstart', function(evt) {
   console.log(evt.originalEvent.dataTransfer);                    
   evt.originalEvent.dataTransfer.data("DownloadURL",fileDetails); 
});