把javascript函数绑定到onload事件处理函数上

绑定单个函数

window.onload = functionName;

注意事项:下面的两个函数只有最后一个才会被实际执行。

window.onload  =  functionNameA;
window.onload 
=  functionNameB;

 



 

绑定多个函数

window.onload = function(){

  functionNameA();

  functionNameB(); 

  ...

}

说明:这种方式只在需要绑定的函数不是很多的场合。

window.onload  =   function (){
   first();
   second();
}
 


通用的做法(作者:Simon Willison  源于:http://simon.incution.com)

function addLoadEvent(func){
  
var oldonload = window.onload;
  
if(typeof window.onload != "function"){
    window.onload = func;
  }else{
    window.onload = function(){
      oldonload();
      func();
    }
  }
}


Examples:

 1  <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
 2  < html xmlns = " http://www.w3.org/1999/xhtml " >
 3  < head >
 4  < meta http - equiv = " Content-Type "  content = " text/html; charset=utf-8 "   / >
 5  < title >onload < / title>
 6  < script type = " text/javascript " >
 7  <!--
 8  function  addLoadEvent(func){
 9       var  oldonload  =  window.onload;
10       if ( typeof  window.onload  !=   " function " ){
11          window.onload  =  func;
12      } else {
13          window.onload  =   function (){
14              oldonload();
15              func();
16          }
17      }
18  }
19 
20  function  aa(){
21      alert(document.getElementById( " test " ));
22  }
23 
24  function  bb(){
25      alert(document.getElementById( " test " ).nodeType);
26  }
27 
28  function  cc(){
29      alert(document.getElementById( " test " ).nodeName);
30  }
31 
32  addLoadEvent(aa);
33  addLoadEvent(bb);
34  addLoadEvent(cc);
35  -->
36  < / script>
37  < / head>
38 
39  < body >
40  < p id = " test " > Hello World !< span > OK !!!< / span>< / p >
41 
42  < / body>
43  < / html>
44 

 

 

 

转载于:https://www.cnblogs.com/chenjmdg/archive/2009/10/30/1593045.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 `onLoad` 函数中使用点击事件时,需要注意以下几点: 1. 确认是否有需要绑定点击事件的组件。 在 `onLoad` 函数中使用点击事件,需要确认页面中是否有需要绑定点击事件的组件。如果没有需要绑定点击事件的组件,点击事件自然无法触发。 2. 确认点击事件函数名是否正确。 在 `onLoad` 函数绑定点击事件时,需要将需要绑定函数名赋值给需要绑定的组件的 `bindtap` 属性。需要确认赋值的函数名是否正确,与实际定义的函数名一致。 3. 确认点击事件函数是否正确定义。 在 `onLoad` 函数绑定点击事件时,需要确认绑定函数是否在页面对象中正确定义。需要检查函数名是否正确,函数中是否存在语法错误或逻辑错误。 4. 确认需要绑定的组件是否支持点击事件。 需要确认需要绑定的组件是否支持绑定 `bindtap` 属性,否则点击事件无法触发。 如果以上几点都没有问题,还是发现点击事件无法触发,则可以尝试使用 `setTimeout` 等方式来实现点击事件的延迟触发。例如: ```javascript Page({ onLoad: function () { setTimeout(() => { this.onTapHandler(); }, 1000); }, onTapHandler: function () { console.log('tap event'); } }) ``` 在 `onLoad` 函数中使用 `setTimeout` 实现点击事件的延迟触发,可以确保页面加载完成后再触发点击事件,从而避免出现点击事件无法触发的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值