本文介绍了html 5中event.originalEvent.dataTransfer.files和event.dataTransfer.files之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

event.originalEvent.dataTransfer.files

event.dataTransfer.files

???

因为在拖放,第二个代码不起作用,它是未定义的,我不得不使用第一个代码,因为它可以工作!

Because in drag and drop , second code does not work and it is undefined and i had to use first code because it works !

推荐答案

jQuery不通过浏览器事件对象,它通过。您可以通过jQuery事件对象中的 .originalEvent 属性访问原始未触动的事件对象。那么你可以正常进行。

jQuery does not pass the browser event object to you, it passes the jQuery event object. You can access the original untouched event object by the .originalEvent property in the jQuery event object. Then you can proceed as normal.

所以在代码中:

jQuery事件模型:

jQuery event model:

$(document).on("drop dragend dragstart dragenter dragleave drag dragover", function(event) {
    event.preventDefault();
    if (event.type === "drop") {
        alert(event.originalEvent.dataTransfer.files);
    }
});

W3C事件模型:

function preventDefault(event) {
    event.preventDefault();
}

function alertFiles(event) {
    alert(event.dataTransfer.files);
}
document.addEventListener("dragstart", preventDefault, false);
document.addEventListener("dragenter", preventDefault, false);
document.addEventListener("dragleave", preventDefault, false);
document.addEventListener("drag", preventDefault, false);
document.addEventListener("dragend", preventDefault, false);
document.addEventListener("dragover", preventDefault, false);
document.addEventListener("drop", preventDefault, false);
document.addEventListener("drop", alertFiles, false);

这篇关于html 5中event.originalEvent.dataTransfer.files和event.dataTransfer.files之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-16 06:20