'undelegate'を2回使用する代わりに)次のように簡単にすることはできますか?jqueryで単一undelegateメソッドを使用して複数のイベントデリゲートを削除する方法
$("#div1").undelegate("div", "mouseenter").undelegate("div", "mouseleave");
mouseenterとmouseleave以外のイベントハンドラが邪魔になることはありません。
'undelegate'を2回使用する代わりに)次のように簡単にすることはできますか?jqueryで単一undelegateメソッドを使用して複数のイベントデリゲートを削除する方法
$("#div1").undelegate("div", "mouseenter").undelegate("div", "mouseleave");
mouseenterとmouseleave以外のイベントハンドラが邪魔になることはありません。
イベントをスペースで区切ります。
$("#div1").undelegate("div", "mouseenter mouseleave");
あなたはしかしon
とoff
を使用する必要があります。
$("#div1").off("mouseenter mouseleave", "div");
http://api.jquery.com/undelegate/
.undelegate()メソッドは、.delegate()を使用して 結合されているイベントハンドラを除去する方法です。 jQuery 1.7以降、.on()および.off() メソッドは、イベントハンドラの接続および削除に適しています。
ドキュメントではイベントのマップを取ることができますが、このスペースで区切られたリストは本当に機能しますか? – jbabey
はい。 http://jsfiddle.net/GrMk7/ – Trevor