2011年5月22日日曜日

jQuery 将来的にも適用されるイベントハンドラの登録

基本的にjavascriptが読み込まれた時点で存在しない要素には、イベントハンドラは適用されない。
将来発生する要素にもイベントハンドラを適用したい場合は、liveを使う。

live(type, fn)

jQuery日本語リファレンス - live(type, fn)

登録されたイベントは、現在および将来的にも、セレクタにマッチする全ての要素に適用されます。
カスタムイベントに対してbindすることも可能です。

この関数で指定できるイベントは、次の通りです:
click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

現時点ではサポートしていないイベントは、次の通りです:
blur, focus, mouseenter, mouseleave, change, submit

bindとほぼ同様の関数ですが、ハンドラ登録時にマッチする要素だけでなく、永続的にイベント発生時点でマッチする要素に反応する点が異なります。

サンプル
<script type="text/javascript">
$(function(){
 $('.gp_del').live("click", function(){del_group(this.name);});
});
</script>

0 件のコメント:

コメントを投稿