我在结合使用 ASP.NET AJAX 和 jQuery 的 IE 和 Firefox 中遇到缓慢的内存泄漏。我的场景与此处描述的场景非常相似:Preventing AJAX memory leaks除了使用 jquery 和 asp.net AJAX,而不是原型(prototype):我有一个网页在 UpdatePanel 中显示数据,使用计时器每 60 秒刷新一次。在每次“部分回发”时调用的 AJAX javascript pageLoad 函数中,我重新绑定(bind)事件,因为它们在 asp.net 部分回发中丢失了:
function pageLoad(sender, args) {
$("#item").unbind();
$("#item").hover(
function() {
// do something
},
function() {
// do something
});
}
因此每 60 秒调用一次。难道这就是内存泄漏的原因吗?
最佳答案
改为这样做:
$(function() { //.ready shortcut...
$("#item").live("hover",
function() {
// do something
},
function() {
// do something
});
});
注意,这个 requires jQuery 1.4.1 ,但在内存方面的行为完全不同。它附加到 entire DOM watching for the event to bubble而不是每 60 秒将一个新事件附加到您要插入的每个对象。
关于javascript - Ajax 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2155792/