この解決策を見たので、この質問が繰り返される可能性があることはわかっています:要素の外側のクリックを検出するにはどうすればよいですか?
要素の外側をクリックすると #main-element を削除したいのですが、その要素には子要素も含まれています。つまり、#main-element の子の 1 つをクリックしても、#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();
}
});