我遇到問題。將事件綁定到ajax成功添加元素
我使用Ajax將一些圖像從HDD上傳到網站; 成功我將結果追加到顯示圖像的列表中,並添加了一個用於刪除圖像的按鈕(刪除過程也在ajax中)。
如果我加載的圖像刪除按鈕不起作用,它只能在一次刷新後才起作用。
我該如何將它綁定到ajax成功上呢?
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader-demo1'),
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
sizeLimit: 21474836, // max size
action: '/FileUpload/FileUpload',
multiple: false,
debug: true,
params: {
param1: imgId
},
fileTemplate: '<li>' +
'<span class="qq-upload-file"></span>' +
'<span class="qq-upload-spinner"></span>' +
'<span class="qq-upload-size"></span>' +
'<a class="qq-upload-cancel" href="#">Cancel</a>' +
'<span class="qq-upload-failed-text"></span>' +
'</li>',
onComplete: function (id, fileName, result) {
var lista = $('ul.uploaded-images');
lista.prepend('<li><img src="/img/' + imgId + '/' + result.filename + '" /><a id="delete" class="ir delete" href="">delete</a></li>');
buttonEvents();
qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments);
// mark completed
var item = this._getItemByFileId(id);
qq.remove(this._find(item, 'cancel'));
qq.remove(this._find(item, 'spinner'));
if (result.success) {
qq.addClass(item, this._classes.success);
} else {
qq.addClass(item, this._classes.fail);
}
}
});
在此先感謝您的幫助。
點1:我通過一個動態ID生成的服務器端,我得到它在JSON 點2:buttonEvents();是包含a.live('click',function ... –
你只需要調用.live()一次,buttonEvents()會在你每次完成ajax請求時被調用。 – Avaq