Jquery 使用jQjuery推送新元素时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"&

我有一个创建文章的表单。我使用Dropzone来管理上传文件。用户可能需要添加多个新Dropzone。所以,当我试图通过jQuery推送更多Dropzone时,一切都正常,但接受了。我想Dropzone不会再开始了

$('.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吗?是的,我是。你知道吗?