js动态添加onload、onresize、onscroll事件(另类方法)

js动态添加onload、onresize、onscroll事件(另类方法)

 
window 的 onload、onresize、onscroll 事件,跟其他的事件不一样,它不能用 attachEvent 或 addEventListener 来添加。

也就是说,它只能这样来(以 onload 为例,下同):
代码如下:
window.onload = function() 
{ 
// ... 
}; 

 


但这有个问题,就是想再为 onload 增加新的事件处理程序时,不能直接为 window.onload 赋值了,否则前面的赋值就会被覆盖了。

可这样做
代码如下:
var oldLoadHandler = window.onload; 
window.onload = function() 
{ 
if (oldLoadHandler) 
{ 
oldLoadHandler(); 
} 
newLoadHandler(); 
}; 

 


在 ezj 中,就更加方便了。 代码如下:
$(window).ready(onloadHandler1); 
$(window).ready(onloadHandler2); 

 



说明
我们一般接触的 onload 事件是 document.body.onload,但这实际上是由于 IE 的误导,正确的应该是 window.onload,window.onload 在 IE、Firefox、Chrome 中均有效。

posted on 2016-11-20 14:15  喜气洋洋得意  阅读(552)  评论(0编辑  收藏  举报

导航