EventDispatcherが登録されたオブジェクトは、dispatchEventを使いイベントを起こすことができる
(EventDispatcher、dispatchEvent参照)
そのイベントを監視する為の命令addEventListernerを登録解除するための命令
あるオブジェクトが
イベントを起こすオブジェクト.dispatchEvent({type:”イベント名”, target:オブジェクト}); |
イベント名でイベントを起こしたとする
他のオブジェクトが、イベントを起こしたオブジェクトに
イベントを起こすオブジェクト.addEventListener(”イベント名” , メソッド実行用のオブジェクト); |
とaddEventListenerしておけば、イベントが起こった時に
メソッド実行用のオブジェクトの、イベント名のメソッドが実行されるようになる。
removeEventListernerは、その登録した命令を解除するためのものである。
イベントを起こすオブジェクト.removeEventListerner(”イベント名” , メソッド実行用のオブジェクト); |
とaddEventListernerの部分をremoveEventListernerにすれば、解除されます。
使わなくなったイベント監視はバグの元と、メモリ解放においてもガベージコレクタ解放のターゲットにならず不利です。
使わない場合は、まめにremoveEventListernerをかけるようにしましょう。