用于选择多个文件的 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);
});
希望这对有相同需求的其他人有所帮助。
我必须知道用户何时一次选择多个文件。问题是 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);
});
希望这对有相同需求的其他人有所帮助。