Prototype 1.6.0 で大きく進化したイベント API (3)
Prototype 1.6.0 RC イベント API の進化、更なるつづき。
Event.stopObserving
で複数のイベント登録を解除できるようになった
イベントのコールバック関数は Event.observe
や Element#observe
で登録し、
で登録を解除できる。
これまで stopObserving()
で登録を解除するには observe()
に渡した引数と同じものを渡す必要があった。つまり、
Event.observe('signinForm', 'submit', checkForm);
でコールバック関数 checkForm
を登録した場合は、
Event.stopObserving('signinForm', 'submit', checkForm);
としていたはず。
1.6.0 では引数を省略することで、対応するコールバック関数すべてを解除できるようになった。
// checkForm を解除
Event.stopObserving('signinForm', 'submit', checkForm);
// signinForm の submit イベントに登録されたコールバック関数を解除
Event.stopObserving('signinForm', 'submit');
// signinForm に登録されたコールバック関数を解除
Event.stopObserving('signinForm');
これまで removeEventListener
や detachEvent
の単なるラッパーに近かった stopObserving
だが、これでだいぶ使いやすくなった。