prototype.jsのEvent.observeは非常に便利なのですが、 初期化処理など、一度だけイベントの処理したい場合にはちょっと不便です。 度々そのような処理を行う機会があったので、以下のような 一度だけイベントをハンドルする関数を作ってみました。 1 Event.observeOnce = function(element, event, observer){ 2 var handler = function(){ 3 Event.stopObserving(element, event, handler); 4 return observer.apply(null, $A(arguments)); 5 }; 6 Event.observe(element, event, handler); 7 };