我知道这个问题可能是重复的,因为我已经看到了这个解决方案:如何检测元素外的点击?
如果我在元素外部单击,我想删除#main-element,但是该元素内部也有子元素。意思是,如果我单击#main-element 的子元素之一,#main-element 不应该关闭
<div id="main-element">
<div class="test">1</div>
<div class="test">2</div>
<div class="test">3</div>
<div class="test">4</div>
</div>
我尝试使用此解决方案:
$('html').click(function(e){
if(e.target.id !== 'main-element') {
$("#main-element").removeClass("open").hide();
}
});
// For the trigger
$("#click-show").click(function(){
if($("#main-element").hasClass("open"))
{
$("#main-element").removeClass("open").hide();
}
else{
$("#main-element").addClass("open").show();
}
});