实现监听事件的添加和删除。直接上代码:
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上百实例源码以及开源项目