2012-11-05 37 views
1

我使用jquery-filedrop将文件拖放到我的网站,但是我遇到了动态dropzones的问题。代码的安装方式有问题吗?该脚本对加载页面时存在的元素非常有效,但不适用于动态创建的元素。为FileDrop动态添加dropzone

这里是我的小提琴与模拟设置。 http://jsfiddle.net/seesoe/4qcfK/

和继承人的JS代码

$(document).ready(function() { 
    $('.cloneMeButton').live('click', function() { 
     $('.cloneMaster').clone().attr('class', 'dropzone').text("Dynamic Dropzone Clone").show().appendTo('body'); 
    }); 

    var dropzone = $('.dropzone'); 

    dropzone.filedrop({ 
     dragOver: function() { 
      $(this).removeClass('dropzone').addClass('dropzone_on'); 
     }, 
     dragLeave: function() { 
      $(this).removeClass('dropzone_on').addClass('dropzone'); 
     }, 
     drop: function() { 
      $(this).removeClass('dropzone_on').addClass('dropzone'); 
     } 
    }); 
});​ 

回答

1

简单忽视的解决方案,在功能包filedrop并召回其在每个,添加事件

http://jsfiddle.net/4qcfK/3/

$(document).ready(function() { 
    $('body').on('click', '.cloneMeButton', function() { 
     $clone = $('.cloneMaster').clone(); 
     $clone.text("Dynamic Dropzone Clone").addClass('dropzone').show().appendTo('body'); 
     fileDropIt($clone); 
    }); 

    fileDropIt($('.dropzone')); 

});​