Posted in Javascript onDecember 26, 2012
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 中均有效。
js动态添加onload、onresize、onscroll事件(另类方法)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@