如何绑定附加元素?

时间:2013-02-27 12:40:47

标签: jquery html5 plupload

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

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

我通过使用.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');
});

1 个答案:

答案 0 :(得分:0)

您是否正在尝试清理UploadComplete?如果是这样,它应该是下面的内容。

如果您要对上传的每个文件进行清理,则应在FileUploaded event handlere

中处理
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(); 
}