問題があります。ajaxへのイベントを成功させると、要素が追加されます
Ajaxを使用してHDDからWebサイトにいくつかのイメージをアップロードします。 私は画像を表示するリストの中に結果を追加し、画像を削除するためのボタンを追加します(削除プロセスはajaxにもあります)。
イメージをロードすると、削除用のボタンが機能せず、1回のリフレッシュ後にのみ機能します。
どうやって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 ... –
ajaxリクエストを完了するたびに、.live()を一度呼び出すだけでbuttonEvents()が呼び出されます。 – Avaq