onload事件

在html页面中,只有body,img,iframe这一类标签具有onload事件。

onload事件表示在当前元素载入完成后发生的事件。其中,window也有onload事件,但是跟body的是同一事件,如果页面上对两者都定义了该事件,只会响应一个。

iframe上的事件在ie6下有一些bug:

1.iframe的onload事件跟window.onload事件只能二者取其一,似乎ie把它看作同一个事件了!例如:

window.οnlοad=function(){

alert("window loaded");


}


var ifr = document.getElementById("iframe");

ifr.οnlοad=function(){

alert("iframe loaded");


}


这段代码只能响应iframe的事件,如果window.onload事件定义在后则只响应window的onload事件!

但是如果在iframe标签中定义响应方法则不会发生这种情况:

<iframe src=child.html" οnlοad="alert('iframe loaded')"></iframe>

这样的代码则能正确执行,window和iframe的onload事件均能正常响应。

用addEventListener的方式绑定的iframe事件也可以正常运行

如果是在js中定义的iframe的onload事件,则只有在iframe第一次加载时响应,以后更改iframe的src加载别的页面时都不会再响应了。这似乎证明了在js中定义iframe的onload事件实际上定义的是window的onload事件,这样才能解释为何window的事件被覆盖了,并且只响应一次,因为window确实只加载一次。

在ff和chrome中则没有这个问题。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值