用于选择多个文件的 Dropzone 事件

Dropzone event for selection of multiple files

我必须知道用户何时一次选择多个文件。问题是 Dropzone 没有 addedmultiple 事件。

背景

我想为单个文件设置延迟动画,以便它们一个接一个地出现。为此我必须知道有多少文件被选中,所以我可以这样做:

dz.on('addedmultiple', function(files){
    files.forEach(function(file, index){
        var fileBox = $(file.previewElement).hide();

        setTimeout(function(){
            fileBox.fadeIn('fast');
        }, index * 100);
    });
});

我可以结合 addedfile 事件添加一个全局变量来计算文件数,然后设置超时以重置该变量。但这感觉不太好。无论如何,任何想法将不胜感激。

一问就找到答案了哈哈哈

Dropzone 有一个名为 selectedfiles 的未记录事件。所以我的方法是这样结束的:

dz.on('selectedfiles', function(files){
    $(files).each(function(index){
        this.delay = index * 100;
    });
});

dz.on('addedfile', function(file){
    var fileBox = $(file.previewElement).hide();

    setTimeout(function(){
        fileBox.fadeIn('fast');
    }, file.delay);
});

希望这对有相同需求的其他人有所帮助。