0

我正在使用 Plupload 上传文件。出于特定原因,我必须将FilesAdded“内部”放在init下面,如下所示。

问题是我无法jQuery.remove()在附加了 jQuery 的元素上使用。

我通常通过使用解决了这个问题.on(),但是由于没有诸如click等之类的操作。我不确定如何绑定附加元素。

非常感谢任何指导:)

// Custom example logic
var uploader = new plupload.Uploader({
    runtimes : 'gears,html5,flash,silverlight,browserplus',
    browse_button : 'btn-file-browse',
    container : 'drag-drop-container',
    drop_element : 'drag-drop-container',
    max_file_size : sim_gal_data['max_file_size'],
    url : sim_gal_data['upload_url'],
    multi_selection : true,     
    init : {
      FilesAdded: function(up, files) {

            // Create list of files being uploaded
            jQuery.each(files, function(i, file) {
                jQuery('#filelist').append(
                    '<div id="' + file.id + '" class="file_upload">' +
                    '<div class="file_name">' + file.name + ' (' + plupload.formatSize(file.size) + ')' +
                    '</div> <label class="file_progress"><b></b></label>'
                );
            });

            // Ready set go!
            up.refresh();
            up.start(); 
    }
});

更新

这会触发remve:

uploader.bind('UploadComplete', function(up, files) {
    jQuery('#filelist .file_name').remove();

    // I'm able to run this - so maybe .file_name is appended?
    jQuery('#filelist .file_name).append('TEST');
});
4

1 回答 1

0

您是否尝试在 UploadComplete 上进行清理?如果是这样,它应该如下所示。

如果您尝试清理上传的每个文件,则应在FileUploaded 事件处理程序中处理它

init : {
  UploadComplete: function(uploader, files){
     alert('upload complete');
     jQuery('#filelist').html('');
  },
  FilesAdded: function(up, files) {

        // Create list of files being uploaded
        jQuery.each(files, function(i, file) {
            jQuery('#filelist').append(
                '<div id="' + file.id + '" class="file_upload">' +
                '<div class="file_name">' + file.name + ' (' + plupload.formatSize(file.size) + ')' +
                '</div> <label class="file_progress"><b></b></label>'
            );
        });

        // Ready set go!
        up.refresh();
        up.start(); 
}
于 2013-02-27T15:20:28.533 回答