jquery ajax loading/unloading html+javascript

jquery ajax loading/unloading html+javascript

本文关键字:unloading html+javascript loading ajax jquery      更新时间:2023-09-26

>我有一个简单的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 的内存。

另外,如果您知道不同的实现,请随时告诉我。

对不起,我的英语不好。

谢谢

如果你使用jQuery .load()方法,生成的脚本将跟随并被解析。

要卸载动态加载的 JS,您需要使用自己的命名空间,然后可以将其清空。

App = {}  // master namespace

然后,当您加载页面时

App.aboutPage = { ... } // your dynamically loaded namespace for the "About page"

完成后

App.aboutPage = 0;