1

我正在使用jquery-filedrop将文件拖放到我的站点,但是我遇到了动态放置区的问题。代码的设置方式有问题吗?该脚本适用于页面加载时存在的元素,但不适用于动态创建的元素。

这是我的模拟设置。 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');
        }
    });
});​
4

1 回答 1

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

});​
于 2012-11-17T22:26:03.300 回答