JavaScript实现为指定对象添加多个事件处理程序的方法
本文实例讲述了JavaScript实现为指定对象添加多个事件处理程序的方法。分享给大家供大家参考。具体如下:
如果你希望对象点击的时候同时处理多个事情,可以使用下面的代码
/*StartofthemultihandleObject...*/ functionMultiHandle(owner){ varmy_handlers=newArray(); varmy_owner=owner; this.append=function(handler){ my_handlers[my_handlers.length]=handler; } this.fire=function(evt){ vari; for(i=0;i<my_handlers.length;i++){ my_owner.tempspace=my_handlers[i]; my_owner.tempspace(evt); } } } /*Endofthemultihandleobject*/ /*startoftheobjectaddeventhandlerscript*/ /*Thisbitgoeswhereyou'dnormallywrite... ...object.onmouseup=[eventhandler]... ...where[eventhandler]isanexistingfunction... ...thathandlesanevent,orevenan ...anonymousfunction.*/ if(typeof(MultiHandle)!="undefined"){ varmup_handler=object.mh_onmouseup; if(!mup_handler){ mup_handler=newMultiHandle(object); object.mh_onmouseup=mup_handler; object.onmouseup=function(evt){ this.mh_onmouseup.fire(evt); }; } mup_handler.append([eventhandler]); }else{ object.onmouseup=[eventhandler]; }
希望本文所述对大家的javascript程序设计有所帮助。