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  };

使い方は、通常のEvent.observeと同様です。

   1  Event.observeOnce(document, 'dom:loaded', function(){
   2    /* some code goes here */
   3  });

Railsアプリケーションであれば、public/javascripts/application.js あたりに置いておくと便利かもしれません。

posted by Png genki on Thu 28 Feb 2008 at 17:04

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry390
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ