您的位置:首页 > Web前端 > JavaScript

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

2011-07-06 16:41 453 查看
实现监听事件的添加和删除。直接上代码:
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  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: