window/body/img/iframe 的onload事件
Posted 山高我为峰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window/body/img/iframe 的onload事件相关的知识,希望对你有一定的参考价值。
在html页面中,只有body,img,iframe这一类标签具有onload事件。
onload事件表示在当前元素载入完成后发生的事件。其中,window也有onload事件,但是跟body的是同一事件,如果页面上对两者都定义了该事件,只会响应一个。
iframe上的事件在ie6下有一些bug:
1.iframe的onload事件跟window.onload事件只能二者取其一,似乎ie把它看作同一个事件了!例如:
window.onload=function(){ alert("window loaded"); } var oIframe = document.getElementById("iframe"); oIframe .onload=function(){ alert("iframe loaded"); }
这段代码只能响应iframe的事件,如果window.onload事件定义在后则只响应window的onload事件!
但是如果在iframe标签中定义响应方法则不会发生这种情况:
<iframe src=child.html" onload="alert(‘iframe loaded‘)"></iframe>
这样的代码则能正确执行,window和iframe的onload事件均能正常响应。
用addEventListener的方式绑定的iframe事件也可以正常运行
如果是在js中定义的iframe的onload事件,则只有在iframe第一次加载时响应,以后更改iframe的src加载别的页面时都不会再响应了。
这似乎证明了在js中定义iframe的onload事件实际上定义的是window的onload事件,这样才能解释为何window的事件被覆盖了,
并且只响应一次,因为window确实只加载一次。在Firefox和Chrome中则没有这个问题。
以上是关于window/body/img/iframe 的onload事件的主要内容,如果未能解决你的问题,请参考以下文章
算法 -- o, o(n), o(logn), o(nlogn)
滚动数组要来回赋初值呀。。orzzzzzzzzzzzzzzzzzzzzzzzzzz