那里!
在我的
AJAX应用程序中,我在页面中有很多内容.因此,当用户更改页面时,我必须清除页面div中的先前内容.使用jQuery:cont.empty()或cont.html(”)清除DOM元素内容和相关数据,事件等.但由于内容很大,页面的性能会急剧下降.有时需要500毫秒来清除快速机器上的内容.我找到了一种使用纯
JavaScript函数快速清除容器的方法:
function empty(element) {
var i;
for (i = element.childNodes.length - 1; i >= 0; i--)
element.removeChild(element.childNodes[i]);
}
不幸的是,这种方法会产生内存泄漏,因为它不会清除缓存中的关联元素jQuery数据.
你能给我一个意见或方法来快速清除内容并防止内存泄漏.
例如,有没有办法用本机函数快速清除内容,并在某些时候(间隔函数)循环$.cache并删除存储的丢失处理程序?垃圾收集器之类的东西.
最佳答案 在容器中的元素上定义事件处理程序时,可以使用过滤器.例如,您可以使用:
$(document).on("click", "#item1", function() {
...
});
代替:
$("#item1").on("click", function() {
...
});