Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Implementierungsmethode zum Hinzufügen mehrerer Ereignishandler für bestimmte Objekte_Javascript-Fähigkeiten

JavaScript-Implementierungsmethode zum Hinzufügen mehrerer Ereignishandler für bestimmte Objekte_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:03:161165Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie man mit JavaScript mehrere Event-Handler zu einem bestimmten Objekt hinzufügt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Wenn Sie beim Klicken auf das Objekt mehrere Dinge gleichzeitig bearbeiten möchten, können Sie den folgenden Code verwenden

/* 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];
}

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn