2016-09-09 24 views
0

我必須知道用戶何時一次選擇多個文件。問題是Dropzone沒有addedmultiple事件。用於選擇多個文件的Dropzone事件

背景

我想用動畫的延遲單獨的文件,所以他們接連出現。爲此,我一定要知道有多少個文件被選中,所以我可以這樣做:

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

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

我可以結合addedfile事件計數文件添加一個全局變量,然後設置超時復位那個變量。但是這不太好。無論如何,任何想法將不勝感激。

回答

0

剛問哈哈哈後找到了答案。

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); 
}); 

希望這可以幫助別人有同樣的需要。

+0

我不確定您使用的是哪個版本,但是當前版本(截至2017/01)具有「addedfiles」事件,該事件完全符合您的需求:它會在文件對話框中每次選擇文件時觸發一次或多個)。 – Marcovecchio

相關問題