本文實例講述了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程序設計有所幫助。