2010年6月17日木曜日

JavaScriptでイベントハンドラを複数登録する

今日はJavaSctipで複数のイベントハンドラを登録する方法を紹介します。
JavaScriptでイベントハンドラを登録する際
  • window.onload = funcA(){};
  • window.onload = funcB(){};
このようにコードを記述した場合funcB()のみがイベントハンドラとして有効となります。
funcA()、funcBともにハンドラとして登録する方法はいくつかあるようですが、今回はprototype.jsというライブラリのEvent.observe()を使用します。
基本構文は
Event.observe(エレメント名, イベント名, イベントハンドラ,  isバブルアップしない)
です。バブルアップってなんだ?って感じですが、falseを設定すると親エレメントをさかのぼって全ての同イベントを実行します。
コード例はこんな感じです。
Event.observe(window, 'load', funcA(), false);
Event.observe(window, 'load', funcB(), false);

0 件のコメント:

コメントを投稿