2012-07-27 3 views

答えて

17

イベントをスペースで区切ります。

$("#div1").undelegate("div", "mouseenter mouseleave"); 

あなたはしかしonoffを使用する必要があります。

$("#div1").off("mouseenter mouseleave", "div"); 

http://api.jquery.com/undelegate/

.undelegate()メソッドは、.delegate()を使用して 結合されているイベントハンドラを除去する方法です。 jQuery 1.7以降、.on()および.off() メソッドは、イベントハンドラの接続および削除に適しています。

+0

ドキュメントではイベントのマップを取ることができますが、このスペースで区切られたリストは本当に機能しますか? – jbabey

+0

はい。 http://jsfiddle.net/GrMk7/ – Trevor

1

は、この特定のケースでは、mouseentermouseleaveのための速記.hover()を使用することができます。

​$("#div1").off("hover", "div"); 

.off()のjQuery 1.7のように、イベントハンドラを削除するための推奨される方法です。

関連する問題