我有一些用ajax加載的選項卡。我通過HTML獲取內容並將其插入到頁面中。棘手的部分是當我使用ajax加載新內容時,我需要監聽新內容的其他事件,並對新內容執行其他任務。 這是我的目標:將綁定事件加載到jQuery加載的內容
var Course = {
config: {
page: 'description'
}
init: function() {
$('a.show-details').on('click', this.loadCourse);
},
loadCourse: function() {
var courseId = $(this).parent().data('course_id'),
item_content = $(this).parents('div.item').children(),
path = 'main/ajaxjson/load_course_details';
if ($(this).parents('h1.more').hasClass('current')) {
$(this).parents('h1.more').removeClass('current');
} else {
$(this).parents('h1.more').addClass('current');
}
$(item_content[2]).slideToggle();
Course.doAjax(courseId, path);
},
doAjax: function(courseId, path) {
$.ajax({
type: 'POST',
url: ROOT_PATH + path,
data: {page : Course.config.page, course_id: courseId},
success: function(result){
$('#ajax-content-' + courseId).hide();
$('#ajax-content-' + courseId).empty().append(result);
$('#ajax-content-' + courseId).show();
// bind events here? call other methods like Couse.methodName()?
}
});
}
}`
我不提供標記,所以讓我解釋的邏輯。我初始化課程對象,當我點擊它時我有一個鏈接,我發起了一個Ajax請求來獲取課程和slideToggle課程內容。現在我返回加載的HTML內容。在html中,我將有按鈕和其他項目。我做了一個新的方法bindEvents並綁定那裏的事件?我需要重新綁定每個Ajax調用嗎?
這是一個重複:http://stackoverflow.com/q/16598213/386579 – 2015-03-23 12:53:27
檢查了這一點:http://stackoverflow.com/questions/13791740/jquery-lazyloa d-with-ajax/31234389#31234389 – antoniputra 2015-07-05 19:59:48