我有一个页面通过Ajax加载(长篇故事,但我需要在单个html文件中为启用javascript的浏览器中的多个页面,并且如果禁用js则不能加载它们)。通过Ajax加载的页面还有其他ajax链接。因此页面被加载,如果您单击该页面中的链接,它将加载内容并更新dom。这一切都运行正常,但如果你一直点击Ajax链接来更新内容,页面变得越来越慢,直到浏览器崩溃所以我猜它必须是一个内存链接(在Chrome中特别糟糕,但这可能是因为它的一个比Firefox更浪费资源。
我想知道是否可能因为在ajax回调中我再次调用该函数 - 我正在这样做,否则ajax内容中的链接将不会将ajax事件应用于它们(即使我以为.on应该以与.live相似的方式做到这一点)。无论如何,我认为以下内容对某人来说可能是显而易见的,非常感谢任何帮助。
function ajaxContent() {
$('.ajaxContentWrapper').on('click', 'a.ajaxContentTrigger', function(event){
event.preventDefault();
var myUrl = $(this).attr("href") + " .ajaxContent";
$(".ajaxContentWrapper").load(myUrl,function(){
ajaxContent();
});
return false;
});
};
答案 0 :(得分:1)
您是否尝试过在Chrome开发人员工具中查看ajax调用? 另外我不明白你提供的功能,这种方法有什么问题?:
$('.ajaxContentWrapper').on('click', 'a.ajaxContentTrigger', function(event) {
event.preventDefault();
var myUrl = $(this).attr("href") + " .ajaxContent";
$(".ajaxContentWrapper").load(myUrl);
});