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>