« OptimaLibその1 startUp | トップページ | OptimaLibその3 イベント操作2 »

2007年6月 8日 (金)

OptimaLibその2 イベント操作1

 書いてませんでしたが、OptimaLibでは名前空間を保護するために、関数を統一されたオブジェクトのメンバとして定義するようなことはしていません。すべてグローバル関数になります。作成する際の手間を省くためでもありますが、実際に使うときも書き添えるのが面倒だとも思ったからです。ごく小規模なクライアント・アプリの開発や、ブログデザインのカスタマイズなどが目的のライブラリなので、これでよしとしました。
 よって、OptimaLibの関数やオブジェクトは使わないように注意してください。
 さて、イベント・ハンドラの追加や削除をする関数です。

setEvt(エレメント, タイプ, ハンドラ)
evtNode(イベント・オブジェクト)
noDefAct(イベント・オブジェクト)
noBubble(イベント・オブジェクト)

これらの関数を呼び出すとOptimaLibは可能な限りDOMを介してイベントの操作を試みます。
 setEvt関数はページ上のエレメントにイベント・ハンドラを追加します。DOMを介していますので、いくつもハンドラを追加できます。エレメントにはボタンやアンカーなどのオブジェクトを、イベント・タイプにはclickやloadなどのイベントの分類名、ハンドラにはイベント発生時に実行したい関数の名前を記述してください。
 たとえば、エレメントが、

<input type="button" id="myBtn" value="Hello!" />

で、イベントの設定を

setEvt(document.getElementById("myBtm", "click", myHandler);

として、

var myHandler = new Function();
myFunder = function(){alert("Hello!")}

となっている場合、

setEvt(document.getElementById("myBtn"), "click", myHandler);

のように記述してください。
 なお、W3Cに準拠したブラウザは、イベントの補足をバブリング時にするか、キャプチャ時にするか選択できますが、Windows IEにおいてはバブリング時の補足にしか対応していないので、クロス・ブラウジングの目的のため、強制的にバブリング時の補足に設定されます。ご了承ください。



トラックバック・リスト


※プログラミングに関するリストです。
ぜひ、ご参加ください。


初めてのプログラミング日記 最近の10件

Powerd by BlogPeople

|

« OptimaLibその1 startUp | トップページ | OptimaLibその3 イベント操作2 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/101525/15445964

この記事へのトラックバック一覧です: OptimaLibその2 イベント操作1:

« OptimaLibその1 startUp | トップページ | OptimaLibその3 イベント操作2 »