关于实现点击父元素点击后显示子元素,但点击子元素不消失的方法(阻止事件传递)

简介: 关于实现点击父元素点击后显示子元素,但点击子元素不消失的方法(阻止事件传递)

未阻止事件传递的效果:

<body>
    <div class="father_box">
      <p>父元素</p>
      <div class="child_box">
        <p>子元素(点我)</p>
      </div>
    </div>
    <script>
      // 父元素点击事件,点击使子元素显示/隐藏
      $(".father_box").on("click",function(){
        let show = $(".child_box").css("display")
        console.log(show);
        if(show == "none"){
          $(".child_box").css("display","block")
        }else{
          $(".child_box").css("display","none")
        }
      })
      // 子元素点击事件,点击后输出内容
      $(".child_box").on("click",function(){
        console.log("您点击了子元素");
      })
    </script>
  </body>

看,子元素被父元素的点击事件影响到了,子元素的点击事件中并没有使元素隐藏的代码。

这是因为“事件捕获”和“事件冒泡”的缘故

我们只需阻止子元素的事件冒泡,不让它传递,结果如下:

效果:

完美解决 > w <``

谢谢观看

目录
相关文章
|
小程序
小程序中点击子元素事件而不触发父元素的点击事件
小程序中点击子元素事件而不触发父元素的点击事件
175 0
|
前端开发
Window对象提示框、确认框、输入框、弹窗详解
本文目录 1. 背景 2. alert提示框 3. confirm确认框 4. prompt输入框 5. showModalDialog弹窗 6. 小结
1236 0
Window对象提示框、确认框、输入框、弹窗详解
Qml实用技巧:在可视元素之前半透明覆盖一个可视元素,阻止鼠标透(界面)传(防止点击到被遮挡的按钮)
Qml实用技巧:在可视元素之前半透明覆盖一个可视元素,阻止鼠标透(界面)传(防止点击到被遮挡的按钮)
Qml实用技巧:在可视元素之前半透明覆盖一个可视元素,阻止鼠标透(界面)传(防止点击到被遮挡的按钮)
|
5月前
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
56 1
|
前端开发 JavaScript 容器
JavaScrpit如何实现弹出遮罩层后将页面固定到当前位置且无法继续滚动
JavaScrpit如何实现弹出遮罩层后将页面固定到当前位置且无法继续滚动
78 0
|
7月前
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
|
前端开发 JavaScript
当鼠标聚焦时输入框变色(focus事件实例)
当鼠标聚焦时输入框变色(focus事件实例)
89 0
解决uviewui向下展开菜单u-dropdown组件收起样式层叠问题
解决uviewui向下展开菜单u-dropdown组件收起样式层叠问题
|
前端开发 JavaScript 计算机视觉
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
1134 0
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
|
Android开发 UED
完美解决android软键盘挡住输入框方法,还不顶标题栏
完美解决android软键盘挡住输入框方法,还不顶标题栏
1428 0
完美解决android软键盘挡住输入框方法,还不顶标题栏