/* *跨浏览器实现自定义事件处理*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 ); } }
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); } }
调用方法如下:
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 " ); }