我有一个简单的html页面
<a onclick="doSomething();">do something</a>
<script type="text/javascript">
function doSomething(){
alert("something");
}
</script>
我想使用jquery ajax方法加载此页面,并将结果附加到div中。 一切都很好,但我希望能够卸载html + javascript内容。
例如,如果我清空我加载html内容的div,这是否也会卸载javascript函数。我知道有一个Javascript垃圾收集器但是因为有一个连接到链接的函数doSomething的参考,如果我删除了链接,我自动杀死了引用?
我问这个的原因是因为我将更复杂的脚本连接到加载的html,我想确保如果我删除html,我将删除为javascript分配的内存。
此外,如果你知道不同的实现,请随时告诉我。
抱歉我的英语不好。
由于
答案 0 :(得分:0)
如果使用jQuery .load()方法,生成的脚本将标记并进行解析。
要卸载动态加载的JS,您需要使用自己的命名空间,然后可以将其清零。
App = {} // master namespace
然后当你加载一个页面
App.aboutPage = { ... } // your dynamically loaded namespace for the "About page"
当你完成时
App.aboutPage = 0;