<!DOCTYPE HTML > < HTML LANG = "EN" > < 頭> < メタ文字コード= "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=装置幅、初期の規模= 1.0" > < メタHTTP -equiv = "X-UA-互換" コンテンツ= "IE =縁" > < タイトル>ドキュメント</ タイトル> </ ヘッド> < ボディ> < > // イベント実行の関数として;カスタムイベント 関数EVENT1(){ にconsole.log(" 多くのロジック111 " ); // 書き込み; } 関数イベント2(){ にconsole.log(「非常に多くのロジック222 " )// Bが書き込ま; } クラスMyEvent { コンストラクタ(){ この.handle = {} } // カスタムイベント追加 addEvent(evnetName、FN){ IFを(typeof演算 本.handle [evnetName] == " は未定義" ){ この.handle [evnetName] = []; } この.handle [evnetName] .push(FN); } // カスタムイベントトリガ トリガ(evnetNameを){ この.handle [evnetName] .forEach(V => { V(); }) } // カスタムイベント削除 {)removeEvent(eventNameの、Fnキーを IF (!のFnをして 、この.handle [eventNameの]){ リターン; } のためのLET(I = 0 ; I < この.handleは[eventNameの] .LENGTH。I ++ ){ 場合(この.handle [eventNameの] [I] === FN){ この.handle [eventNameの】.splice(I、1 )。 破ります; } } } } NEWEVENTせ= 新しいMyEvent()。 newEvent.addEvent(" myfn " 、EVENT1)。 newEvent.addEvent(" myfn " 、イベント2)。 newEvent.removeEvent(" myfn " 、イベント2)。 newEvent.trigger(" myfn " ); </ スクリプト> </ HTML >