首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery $(...).empty().append(...)在几次执行后减慢整个页面

jQuery $(...).empty().append(...)在几次执行后减慢整个页面
EN

Stack Overflow用户
提问于 2011-10-14 00:53:26
回答 2查看 2.4K关注 0票数 2

我正在使用$('#...').empty().append(html)-like构造来更新AJAX success上的内容。在5-6个请求之后,整个页面随着每个请求变得越来越慢(:悬停需要更多的时间才能出现,JS变慢,等等)。这在任何浏览器中都会发生。加载的内容越多,速度就会越慢。

我想我错过了一些清理工作。有什么建议吗?

代码:

代码语言:javascript
复制
query = function (uri, data) {
    $.ajax({
        url: uri,
        cache: false,   
        data: data,
        success: processResponse,
        method: data?'POST':'GET',
    });
    return false;
}

processResponse = function (data) {
    $('#rightplaceholder').empty();
    $('#rightplaceholder').append(data);
}

$('#button').click( function () { query('/foo'); } );

我还尝试禁用所有与加载此片段没有直接关系的JS --但没有成功。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-14 01:26:20

听起来像是由您正在运行的任何补充JavaScript (或您正在加载的数据)引起的内存泄漏。

删除所有不必要的代码,或者当从页面中删除由其他代码添加的元素时,请确保使用他们的API来执行此操作,以便它可以有机会进行清理。

票数 1
EN

Stack Overflow用户

发布于 2011-10-14 01:00:16

尝试使用$('#rightplaceholder').html(data);,将两个DOM操作合并为一个。

另外:将cache: false更改为true,以加速多个AJAX请求。如果你没有提交数据,那么就没有理由不缓存结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7757600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档