|
|||||||||||||
|
|||||||||||||
undelegate(selector, eventType, [handler])
version 1.4.2 以降
解説
delegate(selector, eventType, [eventData], handler) でバインドしたイベントハンドラを削除します。 die() との違いは、第1引数に jQueryセレクタ を指定できることです。 内部的では、die() が呼び出されています。 引数の形が2種類あります。 type1
引数なしで呼び出した場合は、delegate(selector, eventType, [eventData], handler) でバインドした全てのイベントハンドラが削除されます。 戻り値
type2
selector にマッチする、指定した eventType に delegate(selector, 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. |