prototype.jsリファレンス関数(Function)
イベントのバインド
bindAsEventListener()
unknown
バインド先のオブジェクト=バインドするイベント.bindAsEventListener(バインド元オブジェクト);
オプション引数arg(バインドするメソッド)にイベントをバインドします。 bind()と同じですが、実行時に第1引数thisObj(バインド元オブジェクト)に指定した現在のイベントオブジェクトを受け取る関数を確かめ、ブラウザの互換性を考慮している点が異なります。 戻り値としてthisObjに関連付けられた関数のインスタンスを返します。 thisObjは、関数内でthisとしてで参照可能です。 arg(バインド元オブジェクト)を複数指定する場合はカンマ区切りで指定します。
サンプルを見る<div id="box" style="background-color:yellow;">Click!</div> <script type="text/javascript"> checkEvent={ /* div#box領域をクリックした時のマウス座標を取得 */ getXY:function(evt){alert(evt.screenX+","+evt.screenY);}, /* クリックした要素名を取得 */ getTag:function(evt){alert(Event.element(evt).tagName);} } $("box").onclick=checkEvent.getXY.bindAsEventListener(checkEvent); document.body.onclick=checkEvent.getTag.bindAsEventListener(checkEvent); </script>
メソッドのバインド
bind()
unknown
バインド先のオブジェクト=バインドするメソッド.bind(バインド元オブジェクト);
第1引数thisObj(バインド元オブジェクト)が呼び出し元によって変化しないようにロックし、オプション引数arg(バインドするメソッド)をバインドします。 戻り値としてthisObjに関連付けられた関数のインスタンスを返します。 thisObjは、関数内でthisとしてで参照可能です。 arg(バインド元オブジェクト)を複数指定する場合はカンマ区切りで指定します。
サンプルを見る<script type="text/javascript"> man={age:30,inc:function(){this.age++;}} woman={age:20} woman.inc=man.inc.bind(man); document.write("Man="+man.age+", Woman="+woman.age+"<br>"); woman.inc(); document.write("Man="+man.age+", Woman="+woman.age+"<br>"); </script>
空の関数
emptyFunction()
unknown
空の関数=Prototype.emptyFunction;
空の関数オブジェクトを返します。
サンプルを見る<script type="text/javascript"> emptyFunc=Prototype.emptyFunction; document.write(emptyFunc); </script>