gpt4 book ai didi

jquery - 如何将事件绑定(bind)到通过ajax加载的数据并且仍然有效

转载 作者:行者123 更新时间:2023-12-01 06:02:51 25 4
gpt4 key购买 nike

我已经实现了 ajax 选项卡,并在 1 个 ajax 选项卡中加载了一个日历,该日历使用 ajax 更改月份和年份。我遇到的问题是加载内容的绑定(bind)事件。

这是我正在使用的代码示例:

$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which},
success: function(home){
$('#ajax-content ').hide();
$('#ajax-content').empty().append(home);
$('#ajax-content').fadeIn();
}
})

使用此代码,我加载选项卡,生成整个 html 并将其附加到 ajax-content div 中。之后,我绑定(bind)事件以用于新内容,如下所示:

('body').on('click', 'a.next-month', function(){
// code here })

但这样做的问题是每次点击后都会丢失数据..我希望加载所有数据并轻松对新数据执行ajax请求。

最佳答案

使用一个对象来存储已经进行的ajax调用:

var whichTree = {};

var handler = function(home){
whichTree[which] = home;
$('#ajax-content ').hide();
$('#ajax-content').empty().append(home);
$('#ajax-content').fadeIn();
};

if ( whichTree[which] ) {
handler(whichTree[which]);
}
else {
$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which},
success: handler
});
}

关于jquery - 如何将事件绑定(bind)到通过ajax加载的数据并且仍然有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com