Javascript 通过单击外部模式触发dropzone取消事件
我从事的一个项目使用了Javascript 通过单击外部模式触发dropzone取消事件,javascript,dropzone.js,Javascript,Dropzone.js,我从事的一个项目使用了dropzonejsupload file组件。但是,我在努力使它更个性化的同时也面临着这个问题 如果您在模式窗口(引导模式)的之外的某个地方单击,则应触发dropzonejs取消按钮事件(警报/确认框,请参阅所附图片)。但事实并非如此,也从未在文件中看到任何相关内容 有什么解决办法吗?我用下面描述的这种非常手工和肮脏的方式来解决: 我曾经把我认为真实的东西做成一面旗帜。关键是,在上载过程成功结束后,请解除onbeforeunlad的绑定,以防止即使已完成,也始终询问“是
dropzonejs
upload file组件。但是,我在努力使它更个性化的同时也面临着这个问题
如果您在模式窗口(引导模式)的之外的某个地方单击,则应触发dropzonejs取消按钮事件(警报/确认框,请参阅所附图片)。但事实并非如此,也从未在文件中看到任何相关内容
有什么解决办法吗?我用下面描述的这种非常手工和肮脏的方式来解决: 我曾经把我认为真实的东西做成一面旗帜。关键是,在上载过程成功结束后,请解除onbeforeunlad的绑定,以防止即使已完成,也始终询问“是否确实要取消此上载?”
var cancelConfirmation = "Are you sure you want to cancel this upload?";
var isFileInProgress = false;
var uploadZone = $("form[class=dropzone]").dropzone({
method: "post",
uploadMultiple: false,
parallelUploads: 1,
dictCancelUploadConfirmation: cancelConfirmation,
success: function (file, response) {
isFileInProgress = false;
window.onbeforeunload = function () { };
},
init: function () {
this.on("error", function (file, response) {
isFileInProgress = false;
window.onbeforeunload = function () { /* unbind */ };
});
this.on("addedfile", function () {
isFileInProgress = true;
window.onbeforeunload = function () {
return cancelConfirmation;
};
});
this.on("complete", function () {
isFileInProgress = false;
window.onbeforeunload = function () { /* unbind */ };
});
this.on("canceled", function () {
isFileInProgress = false;
window.onbeforeunload = function () { /* unbind */ };
});
}
});
$(".modal").on('hide.bs.modal', function (event) {
if (isFileInProgress && !confirm(cancelConfirmation)) {
event.preventDefault();
}
});