这是一个愚蠢的问题,但我想不通,说我有两个 div:
<div class="one"></div>
<div class="two"></div>
div 1 是一个按钮,div 2 是一个盒子。
现在,当我单击 div 时,one
divtwo
应该是可见的(默认情况下不可见)
当我再次单击 divone
时,divtwo
消失了,依此类推...
这是我的代码:
$(".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 之后发生文档上的单击事件,并且它不允许我打开框。
我知道的一种解决方案是检查是否(event.target.className != "one")
但我真的想避免这种情况,因为在我的实际项目中,我在该按钮中有很多其他元素,所以我需要包括所有这些元素,我想避免这种情况。