|
|||||||||||||||||||
|
|||||||||||||||||||
delegate(selector, eventType, [eventData], handler)
version 1.4.2 以降
解説
指定されたイベントに、イベントハンドラをバインドします。 delegate() でバインドしたイベントハンドラを削除するには、undelegate(selector, eventType, [handler]) を呼び出します。 live() との違いは、第1引数に jQueryセレクタ を指定できることです。 内部的では、live() が呼び出されています。 より詳細な解説は、live(eventType, [eventData], handler) を参照してください。 引数
戻り値
関連例
例1:「delegate」ボタンをクリックすると、header をクリックするとテキストを表示、data を hover すると背景色を緑にするイベントハンドラをバインドします。
「undelegate」ボタンをクリックすると、後から生成された要素も含め、delegate メソッドで登録されたイベントハンドラをアンバインドします。 // header をクリックするとテキストを表示、data を hover すると背景色を緑にする。 // delegate() を使うと簡単に記述できます。 $("#delegate").click(function(){ $("#test_table") .delegate("th", "click", function(){ alert($(this).text()); }) .delegate("td", "hover", function(){ $(this).toggleClass("hover"); }); }); // delegate() でバインドした、header の click イベントと、data の hover イベントを削除。 // undelegate() を使うと簡単に記述できます。 $("#undelegate").click(function(){ $("#test_table") .undelegate("th", "click") .undelegate("td", "hover"); }); // 行を追加。追加した行にもイベントがバインドされる。 $("#addRow").click(function(){ $("#test_table").append("<tr><td>add</td><td>add</td><td>add</td></tr>") }); header をクリックしたり、data にマウスカーソルを hover してみてください。 例1
|
|
||||||||||||||||||
© 2007-2011 by いけまさ. All rights Reserved. |