JavaScript实现为指定对象添加多个事件处理程序的方法
2015-04-17 09:59
1246 查看
本文实例讲述了JavaScript实现为指定对象添加多个事件处理程序的方法。分享给大家供大家参考。具体如下:
如果你希望对象点击的时候同时处理多个事情,可以使用下面的代码
/* Start of the multihandle Object...*/ function MultiHandle(owner){ var my_handlers = new Array(); var my_owner = owner; this.append = function(handler){ my_handlers[my_handlers.length] = handler; } this.fire = function(evt){ var i; for(i = 0; i < my_handlers.length; i++){ my_owner.tempspace = my_handlers[i]; my_owner.tempspace(evt); } } } /* End of the multihandle object*/ /* start of the object add event handler script */ /*This bit goes where you'd normally write... ... object.onmouseup = [event handler]... ... where [event handler] is an existing function ... ... that handles an event, or even an ... anonymous function.*/ if(typeof(MultiHandle) != "undefined"){ var mup_handler = object.mh_onmouseup; if(!mup_handler){ mup_handler = new MultiHandle(object); object.mh_onmouseup = mup_handler; object.onmouseup = function(evt){ this.mh_onmouseup.fire(evt); }; } mup_handler.append([event handler]); }else{ object.onmouseup = [event handler]; }
希望本文所述对大家的javascript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 事件处理程序实现的另一种方法:浏览器的事件监听机制实现“1事件对应n事件处理程序”(Javascript)
- jquery delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
- delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如
- 原生js解决对象事件处理程序添加和删除的兼容性问题
- JavaScript添加IE事件处理程序
- JavaScript跨浏览器事件处理程序、事件对象
- JavaScript中为事件指定处理程序的五种方式分析
- Ext javascript建立超链接,进行事件处理的实现方法
- JavaScript 事件流、事件处理程序及事件对象总结
- Ext javascript建立超链接,进行事件处理的实现方法
- javascript 事件处理、鼠标拖动效果实现方法详解
- javascript 事件处理、鼠标拖动效果实现方法详解
- JavaScript对象内联函数的使用,对象内部方法和属性的使用,以及事件冒泡的处理方式
- JQ bind方法被选元素添加的一个或多个事件处理程序
- Javascript中prototype属性实现给内置对象添加新的方法
- Javascript中prototype属性实现给内置对象添加新的方法
- JavaScript实现添加及删除事件的方法小结
- JavaScript实现添加及删除事件的方法小结
- JavaScript权威指南_162_第17章_事件处理_17.2-注册事件处理程序-设置JavaScript对象属性为事件处理程序
- JavaScript跨浏览器处理事件方法(封装成对象)