JavaScript 跨浏览器添加和删除事件

实现监听事件的添加和删除。直接上代码:

 
  
1 /* **跨浏览器实现自定义事件处理
2 ****author:Mygirl
3 */
4 window.CEvent = {
5 addListener: function (obj,target,act){
6 if (obj.attachEvent)
7 obj.attachEvent( " on " + target,act);
8 if (obj.addEventListener)
9 obj.addEventListener(target,act, false );
10 },
11 removeListener: function (obj,target,act){
12 if (obj.detachEvent)
13 obj.detachEvent( " on " + target,act);
14 if (obj.removeEventListener)
15 obj.removeEventListener(target,act, false );
16 }
17 }
18
19
20 Object.prototype.eventHandler = function (handler){
21 var b = this ;
22 b = b;
23 return function (c){
24 if ( ! c){c = window.event;}
25 if (c &&! c.target) {c.target = c.srcElement}
26 b[handler](c);
27 }
28 };

调用方式为:

 
  
1 var container = document.getElementById( " panel " );
2 CEvent.addListener(container, " mousemove " , this .eventHandler( " onmapmousemove " ));
3   // container.onmousedown = this.eventHandler("onMouseOut");

其中onmapmousemove函数为:

 

 
  
1 function onmapmousemove(evt){
2 document.getElementById( " panel " ).left = evt.clientX;
3 document.getElementById( " panel " ).top = evt.clientY;
4   // ......
5   }

转载于:https://www.cnblogs.com/Mygirl/archive/2011/06/30/2094777.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值