是否可以使用 jQuery 的drop
事件从桌面拖动文件?
如果是这样,我如何获取删除的文件数据?
是否可以使用 jQuery 的drop
事件从桌面拖动文件?
如果是这样,我如何获取删除的文件数据?
这有点混乱(您需要处理至少 3 个事件)但可能。
首先,您需要为这些事件添加事件处理程序dragover
并dragenter
阻止这些事件的默认操作,例如:
$('#div').on(
'dragover',
function(e) {
e.preventDefault();
e.stopPropagation();
}
)
$('#div').on(
'dragenter',
function(e) {
e.preventDefault();
e.stopPropagation();
}
)
调用preventDefault
这些事件实际上很重要,否则某些浏览器可能永远不会触发该drop
事件。
然后您可以添加放置处理程序并使用以下命令访问放置的文件e.originalEvent.dataTransfer.files
:
$('#div').on(
'drop',
function(e){
if(e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files.length) {
e.preventDefault();
e.stopPropagation();
/*UPLOAD FILES HERE*/
upload(e.originalEvent.dataTransfer.files);
}
}
);
现在您可以从 div 中的桌面/资源管理器/查找器中拖动文件并访问它们。