Javascript 单击外部div和同级时隐藏div
我只想在您单击div外部时隐藏div“auto” 此时,如果您单击“更多内容”,它将隐藏div,因为您没有单击“自动”。所以我想我的问题是如何在IF语句中包含兄弟姐妹(顺便说一句,里面可能有很多div,但“更多东西”只是一个例子)Javascript 单击外部div和同级时隐藏div,javascript,jquery,html,Javascript,Jquery,Html,我只想在您单击div外部时隐藏div“auto” 此时,如果您单击“更多内容”,它将隐藏div,因为您没有单击“自动”。所以我想我的问题是如何在IF语句中包含兄弟姐妹(顺便说一句,里面可能有很多div,但“更多东西”只是一个例子) 当你点击这里时也隐藏! jQuery(文档)。单击(函数(e){ 如果(e.target.id!='auto'){//单击层外时隐藏 jQuery(“#auto”).hide(); } }); 我希望单击同级元素不会关闭div,也可以使用它来检查事件目标是否有id
当你点击这里时也隐藏!
jQuery(文档)。单击(函数(e){
如果(e.target.id!='auto'){//单击层外时隐藏
jQuery(“#auto”).hide();
}
});
我希望单击同级元素不会关闭div,也可以使用它来检查事件目标是否有id为auto的父对象
演示:
$(文档)。单击(函数(e){
if(!$(e.target).最近(“#自动”).长度){
$('#auto').hide();
}
});代码>
#自动{
背景色:红色;
}
当你点击这里时也隐藏!
我不会躲在这里
当你点击这里时不要隐藏!
$(文档)。单击(函数(e){
if($(e.target).is(“#auto,#more stuff,#more stuff*”){
返回;
}
$('#auto').hide();
});
需要查看更多HTML。什么兄弟姐妹?他们是#更多东西的兄弟姐妹吗?因此,当您单击#auto
的父项时,您只希望隐藏更多内容?哪个部门应该关闭?对不起,只是不清楚你想发生什么,什么时候发生。请编辑您的问题并澄清这些细节。谢谢正是我需要的,谢谢!
<div id="auto">
<div id="more-stuff">
HIDE ALSO WHEN YOU CLICK IN HERE!
</div>
</div>
jQuery(document).click(function(e) {
if( e.target.id != 'auto') { // Hide when click outside of layer
jQuery("#auto").hide();
}
});
<div id="auto">
Will Not Hide here
<div id="more-stuff">
NOT HIDE ALSO WHEN YOU CLICK IN HERE!
</div>
</div>
<script>
$(document).click(function(e){
if ($(e.target).is('#auto,#more-stuff, #more-stuff *')) {
return;
}
$('#auto').hide();
});
</script>