作者TKirby ( ^-^)
看板Web_Design
标题Re: [问题] 两个 window.onload 时该如何处理?
时间Thu Jan 12 13:00:17 2006
来提供些不同的方法
/* 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)
1F:推 ileadu:感谢大师回覆...您实在太强啦 01/12 21:46