当前位置: 代码迷 >> Web前端 >> 跨浏览器兑现自定义事件处理
  详细解决方案

跨浏览器兑现自定义事件处理

热度:34   发布时间:2012-10-17 10:25:47.0
跨浏览器实现自定义事件处理
Object.prototype.eventHandler = function(handler){     
var b = this ;    
 b = b;     
return function(c){              
 if(!c){                     
              c = window.event ;     
           }                
if(c&&!c.target){       
                c.target = c.srcElement;     
            }              
  b[handler](c);  
    }  
 }
?/**跨浏览器实现自定义事件处理*author:Mygirl**/ window.DEvent = { addListener:function(obj,target,act){ if(obj.attachEvent) obj.attachEvent("on" + target , act); if(obj.addEventListener) obj.addEventListener(target , act , false); } removeListener:function(obj,target,act){ if(obj.detachEvent) obj.detachEvent("on"+target,act); if(obj.removeEventListener) obj.removeEventListener(target,act,false); } }

?调用方法:

function test(){ var container = document.getElementById("div1"); this.container.onmouseMove = this.eventHandler("onMouseMoveMouse");
CEvent.addListener(this.container, "mousemove", this.eventHandler("onmapmousemove")); }

onMouseMoveMouse.js

Zx.prototype.onmapmousemove = function(evt) {
/*
var cpointtmp = new ZxPoint(this.container.offsetLeft + evt.clientX - this.mapDiv.offsetLeft, this.container.offsetTop + evt.clientY - this.mapDiv.offsetTop);        
Theodolite$setPoint(cpointtmp);
*/
alert("test");
}

?

?

  相关解决方案