当DOM元素删除时,jquery插件是否被删除

时间:2011-06-24 05:15:56

标签: javascript jquery plugins

简单的插件:

(function ($) {
   var MyTest = function (){
     this.bigarr = new Array(20000);
     this.init();
   };
   $.fn.extend({
     mytest: function(options){
     return this.each(function() {
        new MyTest();
     });
   }
 });

 $.extend(MyTest.prototype, {
  init: function(){
    console.log(this);
  }
 });
})(jQuery);

然后我将插件附加到DOM元素:

$('#selector').mytest();

并删除元素:

$('#selector').remove();

插件会发生什么?大阵列是否仍然存在于内存中?或者我必须手动删除它吗?

2 个答案:

答案 0 :(得分:0)

在jQuery选择器上调用remove会从DOM树中删除该元素,但不会从内存中删除。

有关更多讨论,请参阅this answer

伊恩。

答案 1 :(得分:0)

考虑到您从未将MyTest的实例分配给变量,可以立即对其进行垃圾回收。无论是否删除元素,都可以回收内存。