检查功能是否会阻止浏览器垃圾收集释放内存?

时间:2013-05-05 13:44:59

标签: javascript ajax memory garbage-collection memory-leaks

我在文件A中有JavaScript,它将文件B(通过jquery AJAX加载)加载到元素X中。成功时,文件A调用resizewin(下面),它检查函数resizeContent是否存在(在B中),如果所以执行它。然后,文件A删除DOM元素X。

function resizewin() {
  if (typeof(resizeContent) === 'function') resizeContent();
}

在chrome中我看到了分离的DOM树元素(在我.remove()X元素之后)。我正在努力追查原因。以上可能是原因吗?换句话说,检查元素中是否存在函数然后调用该函数会阻止浏览器垃圾收集删除元素X,即使它已从DOM中删除了吗?

如果是这样,这样做的正确方法是什么?


编辑:根据要求添加更多代码。以下是我如何将B加载到DOM中(来自文件A):

$.ajax({
  type: 'POST',
  contenttype: "application/html",
  dataType: 'html',
  url: url,
  data: dataarr,
  success: function(response) { $('#'+element).html(response); }
});    

在文件B中我的功能:

function resizeContent() {
  console.log("In resizeContent");
}

0 个答案:

没有答案