これはばかげた質問ですが、私はそれを理解することができません、私は2つのdivを持っていると言います:
<div class="one"></div>
<div class="two"></div>
Div 1はボタン、Div2はボックスです。
これで、divをクリックするとdivone
がtwo
表示されます(デフォルトでは表示されません)
one
そして、もう一度divをクリックするtwo
と、divが消えます...
そのための私のコードは次のとおりです。
$(".one").live("click", function(){
state = $(this).attr("state");
if(state == "active"){
$(this).attr("state", "inactive");
$(".two").css("display", "none");
}else{
$(this).attr("state", "active");
$(".two").css("display", "block");
}
});
そして今、私の問題はtwo
、ページのどこかをクリックしたときにdivも消えたいので、これが私がしたことです:
$(document).click(function(){
$(".one").attr("state", "inactive");
$(".two").css("display", "none");
});
これで、おそらくドキュメントのクリックイベントがdivをクリックした後に発生し、ボックスを開くことができなくなります。
私が知っている解決策の1つは、チェックすることです(event.target.className != "one")
が、実際のプロジェクトではそのボタンに他の要素がたくさんあるので、それらすべてを含める必要があり、それを避けたいので、本当に避けたいと思います。