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

mac2022-06-30  64

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

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

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