我一直在尝试使用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插件,因为我并不是真的想要一个跨浏览器的解决方案。
由于
答案 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);
});