2013-02-27 70 views
0

我正在使用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

如果元素是當你查詢它調用remove方法,它應該工作的DOM。什麼觸發了刪除? – 2013-02-27 12:47:14

+0

你的刪除代碼在哪裏 – Pete 2013-02-27 13:26:12

+0

@Pete我已經在我的問題 – Steven 2013-02-27 13:55:01

回答

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