以编程方式添加图像时不会触发Dropzone“addedfile”

时间:2015-02-16 15:44:28

标签: javascript jquery javascript-events dropzone.js

我想将checkbox添加到dropzone图像,以便我只能上传所选的图像。当checkbox事件被触发时,我将在每个图像旁边添加addedfile

我使用以下方法programmatically add images to dropzone

var mockFile = { name: "image.jpg", size: 12345 };
imgUrl = "http://example.com/image.jpg"
myDropzone.options.addedfile.call(myDropzone, mockFile);
myDropzone.options.thumbnail.call(myDropzone, mockFile, imgUrl);

问题在于"添加了文件"对于以这种方式添加的图像不会触发事件:

myDropzone.on("addedfile", function(file) {
    console.log("file added!"); // this line is never printed
});

但如果通过手动点击dropzone并选择文件来添加图片,则会触发上述事件。为什么在第一种情况下不会触发此事件?

4 个答案:

答案 0 :(得分:3)

别做我想做的事,而是试着听addedFile事件而不是addedfile(d'oh)。

答案 1 :(得分:2)

我有同样的问题,从@enyo找到答案: https://github.com/enyo/dropzone/issues/209

基本上,addedfile.call有点笨拙,您需要用以下内容替换此行:

myDropzone.emit("addedfile", file);

这样就可以正确调用“addedfile”函数。

干杯

答案 2 :(得分:1)

根据dropzone documentation: 触发grub-mkrescue事件的正确方法是在实例化dropzone时在addedfile部分调用它。

示例:

init

答案 3 :(得分:0)

必须调用myDropzone.options.addedfile.call(myDropzone,mockFile);声明" addedfile"回调。