本文实例讲述了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程序设计有所帮助。