jQueryに「グローバル」アンバインド機能があります。そのため、特定の名前空間からすべてのバインドされたイベントを削除できますか?例:特定の名前空間からすべてのjQueryイベントをどのようにアンバインドしますか?
// assume these are the events bound to different elements
$('#foo').bind('click.myNS', ...);
$('#bar').bind('keyup.myNS', ...);
$('#baz').bind('dblclick.myNS', ...);
// magic occurs here...
$.magicalGlobalUnbindFunction('.myNS');
// ...and afterwards, the three binds from above are gone
アンバインドで見たすべての例では、最初にいくつかの要素を選択する必要があります。私は技術的には$('*').unbind('.myNS')
を行うことができると思うが、それはのように非常にとは思えない。
のようになります。私は、イベントがバインドしているものである、HTMLは名前空間を持っているとは思いません。 – jondavidjohn
@jondavidjohn:この形式の名前空間は、jQueryによって提供されるものです。http://api.jquery.com/bind/これは、他の誰かに影響を与えることなく簡単にバインド解除できるように、イベントハンドラを整理する単なる方法です。プラグイン)。 –
@jondavidjohn:いいえ、jqueryを使用すると、イベントに独自の名前空間を付けることができます。したがって、ここでの質問は、「x名前空間のすべてのバインドされたイベントを選択するjqueryの方法はありますか?」 –