divをクリックした後に、$('body').live('click')
リスナーを追加しようとしています。目的は、ユーザーがページ上の任意の場所をクリックすることで開くことができ、最終的に閉じることができるカスタムのドロップダウンボックスを作成することです。.click()関数内で.live( 'click')を使用すると、自分自身がトリガーされます
しかし、私は.click()
関数内.live()
または.bind()
機能を追加した場合、live()
機能が何らかの理由でトリガーされます。
$('#myDiv').click(function(){
$('#myDiv .child').show().addClass('showing');
$('body').live('click', function(){
$('#myDiv .child').hide();
$('body').die();
})
})
#myDiv
を示したが、すぐに非表示になり、長引く.showing
クラスによって証明されます。
私はlive()
を使用していますか?この再帰を避けるにはどうしたらいいですか?
はあなたが現在何をしているかを説明するのではなく、やろうとしているかを説明します。おそらく、バグの可能性があるコードを修正するのではなく、代わりの方法を提供することができます。 – Joseph