我正在使用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');
});
答案 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();
}