Re: [問題] 兩個 window.onload 時該如何處理?

看板Web_Design作者 ( ^-^)時間19年前 (2006/01/12 12:55), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
來提供些不同的方法 /* Method 1 : 混成一個 function */ window.onload=new Function("e","a();b();"); /* Method 2 : 另一種寫法 */ window.onload=function(e){a();b();}; /* Method 3 : 改成用註冊的方式 */ var _WLH = new Array(); function _IWL() { for(var i=0;i<arguments.length;i++) _WLH.push(arguments[i]);} _IWL(a,b); window.onload = function(e){for(var i in _WLH) _WLH[i](e); } /* Method 4 : 也是用註冊,但不會蓋掉之前別人設的值 */ function _chain_winloader(hfunc) { var wld = window.onload; window.onload = function(e) {var old=wld;hfunc(e);if(old)old(e);} } _chain_winloader(a); _chain_winloader(b); ※ 引述《netburst ()》之銘言: : ※ 引述《bennylu (Benny)》之銘言: : : 那就不要寫在window.onload : : <body onload="a();b();c();d();e();"> : : 如果硬要用window.onload : : 那就在a()執行完後執行b(); : : function a() : : { : : .... : : b(); : : } : 也可以寫成 : function all() : { : a(); : b(); : ... : } : 這樣感覺每個函數地位平等我個人看起來比較舒服 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52 ※ 編輯: TKirby 來自: 140.112.30.52 (01/12 13:02)

01/12 21:46, , 1F
感謝大師回覆...您實在太強啦
01/12 21:46, 1F
文章代碼(AID): #13nU50Ci (Web_Design)
文章代碼(AID): #13nU50Ci (Web_Design)