Jquery 使用jQjuery推送新元素时Dropzone不起作用
我有一个创建文章的表单。我使用Dropzone来管理上传文件。用户可能需要添加多个新Dropzone。所以,当我试图通过jQuery推送更多Dropzone时,一切都正常,但接受了。我想Dropzone不会再开始了Jquery 使用jQjuery推送新元素时Dropzone不起作用,jquery,dropzone.js,Jquery,Dropzone.js,我有一个创建文章的表单。我使用Dropzone来管理上传文件。用户可能需要添加多个新Dropzone。所以,当我试图通过jQuery推送更多Dropzone时,一切都正常,但接受了。我想Dropzone不会再开始了 $('.btn-add').click(function (e) { e.preventDefault(); var element = ''; element = '<div class="article-item ui-state-default"&
$('.btn-add').click(function (e) {
e.preventDefault();
var element = '';
element = '<div class="article-item ui-state-default">'
+ '<div class="dropzone dropzone-previews multiple-upload>'
+ '</div>';
('#sortable').append(element);
});
Dropzone.autoDiscover = false;
$('div.multiple-upload').dropzone({
acceptedFiles : '.png, .gif, .jpg',
dictCancelUpload : '',
dictCancelUploadConfirmation : '',
maxFilesize : 100,
addRemoveLinks : true,
init: function () {
thisDropzone = this;
var extractEle = thisDropzone.element.className;
var extractClass = extractEle.split(' ');
var obj = $('.' + extractClass[3]);
var filename = $(obj).find('.media-item').val();
var file_array = [];
if (filename !== '') {
file_array = filename.split(',');
}
for (var index = 0; index < file_array.length; index++) {
var mockFile = {name: file_array[index], size: 75};
thisDropzone.options.addedfile.call(thisDropzone, mockFile);
thisDropzone.options.thumbnail.call(thisDropzone, mockFile, BASE_URL + '/articles/' + file_array[index]);
}
},
url: BASE_URL + '/writer/articles/upload'
});
$('.btn add')。单击(函数(e){
e、 预防默认值();
var元素=“”;
元素=“”
+“如果每次单击按钮时都要创建一个dropzone,那么应该在click事件中添加.dropzone()
方法,对于刚才创建的div元素,var元素
字符串中也有一些错误
这里有一个例子:
$('.btn-add').click(function (e) {
e.preventDefault();
var element = '';
element = '<div class="article-item ui-state-default">'
+ '<div class="dropzone dropzone-previews multiple-upload">'
+ '</div></div>';
$('#sortable').append(element);
$('div.multiple-upload').last().dropzone({
acceptedFiles : '.png, .gif, .jpg',
dictCancelUpload : '',
dictCancelUploadConfirmation : '',
maxFilesize : 100,
addRemoveLinks : true,
init: function () {
thisDropzone = this;
var extractEle = thisDropzone.element.className;
var extractClass = extractEle.split(' ');
var obj = $('.' + extractClass[3]);
var filename = $(obj).find('.media-item').val();
var file_array = [];
if (filename !== '') {
file_array = filename.split(',');
}
for (var index = 0; index < file_array.length; index++) {
var mockFile = {name: file_array[index], size: 75};
thisDropzone.options.addedfile.call(thisDropzone, mockFile);
thisDropzone.options.thumbnail.call(thisDropzone, mockFile, BASE_URL + '/articles/' + file_array[index]);
}
},
url: BASE_URL + '/writer/articles/upload'
});
});
$('.btn add')。单击(函数(e){
e、 预防默认值();
var元素=“”;
元素=“”
+ ''
+ '';
$(“#可排序”).append(元素);
$('div.multiple-upload').last().dropzone({
接受的文件:'.png、.gif、.jpg',
命令上载:“”,
dictCancelUploadConfirmation:“”,
最大文件大小:100,
addRemoveLinks:是的,
init:函数(){
thisDropzone=这个;
var extractEle=thisDropzone.element.className;
var extractClass=extractEle.split(“”);
var obj=$('.'+extractClass[3]);
var filename=$(obj.find('.media item').val();
var文件_数组=[];
如果(文件名!=''){
file_array=filename.split(',');
}
对于(var index=0;index
只需注意,在这种特殊情况下,不需要添加Dropzone.autoDiscover=false
,因为页面加载时没有任何Dropzone元素。我不确定你在问什么。你想在每次单击按钮时添加具有相同配置的新Dropzone吗?是的,我是。你知道吗?