当iframe src发生变化时,DOM事件是否被清除?

时间:2015-04-27 06:30:20

标签: jquery angularjs html5 iframe

我有一个带iframe的html页面,想要使用src属性切换内容。 iframe内容可能包含JQuery和Angular。如果我更改了src属性,那么在加载新的iframe内容之前iframe中的DOM事件(JQuery和Angular资源)是否已清除?

3 个答案:

答案 0 :(得分:2)

是。 iframe窗口的整个环境将被擦除,并替换为新页面的新窗口。这包括JavaScript环境及其中的所有内容 - 全局变量,声明的函数,加载的脚本等 - 以及完整的DOM结构,以及任何事件处理程序。

答案 1 :(得分:1)

如果通过" DOM Events"你的意思是DOM事件处理程序,然后肯定它们被清除。

DOM事件处理程序附加到特定的DOM元素。当替换这些DOM元素时,所有事件处理程序也将消失。并且,设置iframe的.src将替换iframe中的所有DOM元素,因此所有先前的事件处理程序也将消失。

实际上,替换iframe的.src本质上是加载一个全新的页面,因此整个Javascript上下文被替换并重新构建。上一页中没有任何内容存活下来。

答案 2 :(得分:0)

是的,这些事件会被清除,因为当您更改src iframe时,iframe会加载该网址内容&创建一个新的window / document,它不具有最初绑定的事件。基本上它就像新鲜的DOM。