自定义事件

 1 window.onload = function(){
 2     var oDiv = document.getElementById('div1');
 3     var oSpan = document.getElementById('span1');
 4     
 5     bindEvent(oDiv , 'click',function(){
 6         alert(1);
 7     });
 8     
 9     bindEvent(oDiv , 'click',function(){
10         alert(2);
11     });
12     
13     bindEvent(oSpan , 'show',function(){
14         alert(3);
15     });
16     
17     bindEvent(oSpan , 'show',function(){
18         alert(4);
19     });
20     
21     bindEvent(oSpan , 'hide',function(){
22         alert(5);
23     });
24     
25     
26     fireEvent(oSpan , 'show');  //3 , 4
27     
28 };
29 
30 function bindEvent(obj,events,fn){
31     //obj : 楼层
32     //events : 书架
33     //fn : 一本书
34     
35     obj.listeners = obj.listeners || {};
36     obj.listeners[events] = obj.listeners[events] || [];
37     
38     obj.listeners[events].push( fn );
39     
40     
41     if(obj.addEventListener){
42         obj.addEventListener(events,fn,false);
43     }
44     else{
45         obj.attachEvent('on'+events,fn);
46     }
47 }
48 
49 function fireEvent(obj,events){   //主动触发自定义事件
50     
51     for(var i=0;i<obj.listeners[events].length;i++){
52          obj.listeners[events][i]();
53     }
54     
55 }
1 <div id="div1">div</div>
2 <span id="span1">span</span>

 

转载于:https://www.cnblogs.com/ws-zhangbo/p/5992101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值