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

mac2022-06-30  69

/* *跨浏览器实现自定义事件处理*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 " ); }

转载于:https://www.cnblogs.com/Mygirl/archive/2011/05/13/2045697.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)