我可能弄错了,但Dropzone JS似乎以一种非常奇怪的方式做事情。http://www.dropzonejs.com/#events
这是推荐的添加事件的方法
Dropzone.options.myAwesomeDropzone = {
init: function() {
this.on("addedfile", function(file) { alert("Added file."); });
}
};这里假设您知道myAwesomeDropzone是什么。但是如果你以编程的方式创建它们,那么你可能不知道什么是myAwesomeDropzone。它可以是任何东西,例如,如果你基于某个ID在页面上有三个不同的Dropzones,那么标识符将不是myAwesomeDropzone,甚至不是可猜测的。
如果能够做到这一点,那就很方便了
$(".dropzone").on("addedfile", function(file) {
alert("hello");
});但它不起作用。我只希望能够将全局事件附加到我所有的dropzones。
发布于 2015-11-04 15:27:17
如果在同一页面中有多个dropzones,并且需要每个dropzones都有不同的配置,则必须分别初始化每个dropzones。正如我所看到的,您正在使用jQuery,知道您也可以使用dropzone中已经包含的dropzone jQuery插件来初始化Dropzone元素。
例如,假设每个dropzone接受不同的文件类型:
Dropzone.autoDiscover = false;
$("#dropzone1").dropzone({
url: 'urlForDropzone1.php',
acceptedFiles: 'application/pdf',
init: function(){
this.on("addedfile", function(file) {
alert("Added" + file.name + " on Dropzone 1.");
}),
this.on("success", function(file) {
alert(file.name " Uploaded from Dropzone 1")
})
}
});
$("#dropzone2").dropzone({
url: 'urlForDropzone2.php',
acceptedFiles: 'image/*,.jpeg,.jpg,.png,.gif',
init: function(){
this.on("addedfile", function(file) {
alert("Added" + file.name + " on Dropzone 2.");
}),
this.on("success", function(file) {
alert(file.name " Uploaded from Dropzone 2")
})
}
});请注意,首先您需要禁用自动发现功能,然后分别初始化每个dropzone,url是可选的,如果您在html中已经有它们,则不需要包含它们。
发布于 2015-11-04 03:22:11
你可以添加dropzone,和你的第二个代码片段非常相似。在初始化dropzone时直接附加配置。
new Dropzone(".dropzone", {
url: 'someUrl',
addedfile: function () {
alert('Hallo');
}
});发布于 2015-11-04 15:42:50
下面的工作,我的问题是,我有两次包含dropzone.js,这使得Dropzone.autoDiscover = false;被忽略。
Dropzone.autoDiscover = false;
$(".dropzone").on("addedfile", function(file) {
alert("hello");
});https://stackoverflow.com/questions/33507014
复制相似问题