0

我有一个通过 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;
    });
};
4

1 回答 1

1

您是否尝试过查看 chrome 开发人员工具中的 ajax 调用?另外我不明白您提供的功能,这种方法有什么问题?:

$('.ajaxContentWrapper').on('click', 'a.ajaxContentTrigger', function(event) {
    event.preventDefault();
    var myUrl = $(this).attr("href") + " .ajaxContent";
    $(".ajaxContentWrapper").load(myUrl);
});
于 2013-03-08T09:12:35.510 回答