javascript - Jquery 事件 - 如何选择不包括某些内部区域的整个 DIV

标签 javascript jquery html css

考虑以下 HTML 代码来应用 Jquery:

HTML代码:

<div id="outer_div">
  <div id="inner_div_1"></div>
  <div id="inner_div_2"></div>
  <div id="inner_div_3"></div>
</div>

默认情况下,“outer_div”是隐藏的。它在使用 Jquery show() 函数单击按钮时出现。 我想执行以下操作:在“outer_div”的任何地方(不包括“inner_div_1”内的区域)单击时,“outer_div”将再次被隐藏。我在尝试以下代码时失败了。我应该修改什么?

尝试的 Jquery 1:

$("#outer_div:not(#inner_div_1)").on("click",function(){
    $("#outer_div").hide("slow");
});

尝试 Jquery 2:

$("#outer_div").not("#inner_div_1").on("click",function(){
    $("#outer_div").hide("slow");
});

非常感谢您的支持。

最佳答案

您需要考虑在内层 div 中的点击也是外层 div 的点击。也就是说,您只需要检查目标和目标 parent :

$("#outer_div").on("click",function(e){
    if(!$(e.target).closest('#inner_div_1').length) $("#outer_div").hide("slow");
});

关于javascript - Jquery 事件 - 如何选择不包括某些内部区域的整个 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616612/

相关文章:

jquery - 如何在 fancybox 和 videoJS 中制作响应式 html5 视频

javascript - 无阻塞地下载javascript

Javascript 重复 if 语句更好的解决方案?

javascript - 在 Javascript 中格式化日期

asp.net - jQuery UI 自动完成示例

javascript - 单击图像时如何在另一个 Div 中显示相关内容

javascript - 将 Vue 'moustache' 括号注入(inject) HTML 元素

javascript - 使用正则表达式验证表单 (Javascript Regex)

javascript - 将 JSON 传递给 Jade 并使用相同的数据进行 API 访问

javascript - 更改按类选择的空输入的 CSS 属性