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においてはバブリング時の補足にしか対応していないので、クロス・ブラウジングの目的のため、強制的にバブリング時の補足に設定されます。ご了承ください。
| 固定リンク

コメント