锁定老帖子 主题:关于jquery内存回收问题请教
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-11
jljlpch 写道 jQuery.fn.removeNode = function(){
var d; return function(){ if(this[0] && this[0].tagName != 'BODY'){ d = d || document.createElement('div'); d.appendChild(this[0]); d.innerHTML = ''; } } }(); 先注册removeNode 之后再通过$('div').removeNode();就可以了。 不过没有清除与之相关的事件和expando中加入的data. 还是不完善。 Ext中的也是很有问题。 ============================================ 是的,我目前的也是清理的不是很干净 XXX.innerHTML="" 大家思路都是一样的 |
|
返回顶楼 | |
发表时间:2008-09-11
remove : function(selector) {// 根据selector除去元素,防内存泄露
if (!selector || jQuery.filter(selector, [this]).r.length) { // Prevent memory leaks this是指dom元素 jQuery("*", this).add([this]).each(function() { jQuery.event.remove(this); jQuery.removeData(this); }); if(jQuery.browser.msie) this.parentNode.innerHTML="";//加上这句话应该会好一点。 else if (this.parentNode) this.parentNode.removeChild(this); } }, |
|
返回顶楼 | |
发表时间:2008-09-11
XXX.outerHTML="";
更新 继续努力 |
|
返回顶楼 | |
发表时间:2009-04-17
你为什么要不把str声明成jquery对象,加上${}试下
|
|
返回顶楼 | |