和有什么区别
event.originalEvent.dataTransfer.files
和
event.dataTransfer.files
???
因为在拖放中,第二个代码不起作用并且它是未定义的,我不得不使用第一个代码,因为它可以工作!
和有什么区别
event.originalEvent.dataTransfer.files
和
event.dataTransfer.files
???
因为在拖放中,第二个代码不起作用并且它是未定义的,我不得不使用第一个代码,因为它可以工作!
jQuery 不会将浏览器事件对象传递给您,它会传递jQuery 事件对象。.originalEvent
您可以通过jQuery 事件对象中的属性访问原始未触及的事件对象。然后就可以正常进行了。
所以在代码中:
jQuery 事件模型:
$(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);