ホームページ  >  記事  >  ウェブフロントエンド  >  指定したオブジェクトに複数のイベントハンドラを追加するJavaScript実装方法_JavaScriptスキル

指定したオブジェクトに複数のイベントハンドラを追加するJavaScript実装方法_JavaScriptスキル

WBOY
WBOYオリジナル
2016-05-16 16:03:161171ブラウズ

この記事の例では、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 プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。