[英]Unable to execute functions on elements loaded with AJAX (jQuery)
我使用.ajax()發布表單后,正在使用.prepend()加載數據。
一旦添加了新元素,我的功能將無法使用。
如果我直接將js文件鏈接到前置數據中,則該函數起作用,但是當我POST時,我開始乘以事件。
我有一種感覺,它與綁定有關,但是我無法弄清楚如何處理它。
有任何想法嗎?
謝謝!
創建一個封裝jEditable邏輯的函數,如下所示:
function initjEditable(){
$('.review_edit').editable('edit_review.php', {
indicator : 'Saving...',
tooltip : 'Click to edit...'
});
$('.review_edit_area').editable('edit_review.php', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="/hrt/images/indicator.gif">',
tooltip : 'Click to edit...'
});
}
然后從幾個地方調用該函數。 第一個方法是使其從blurbs鏈接的onclick .load語句進行回調,如下所示:
$('#adminContainer').load('blurbs.php',function(){ initjEditable(); });
這樣可以確保它不會在$(document).ready()函數中第一次運行。
第二個位置是您的.ajax調用的成功功能,用於添加blurb。 看起來像這樣:
$.ajax({
type: 'POST',
url: "add_review.php",
data: $(this).parent().serialize(),
dataType: "html",
success: function(data){
$("#results").prepend(data);
initjEditable();
$('#addForm').reset();
$('#add').hide('fast');
}
});
我認為您也需要在loadBlurbs函數啟動和運行時執行相同的操作。 這樣就可以使所有內容都通過可編輯插件運行,而無需重新加載腳本100次。
那時候我有意義嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.