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

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

未阻止事件传递的效果:

<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 <``

谢谢观看

目录
相关文章
|
小程序
小程序中点击子元素事件而不触发父元素的点击事件
小程序中点击子元素事件而不触发父元素的点击事件
162 0
|
小程序 前端开发 JavaScript
小程序点击按钮出现和隐藏遮罩层
小程序点击按钮出现和隐藏遮罩层
215 0
|
4月前
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
48 1
|
4月前
Element UI【详解】el-scrollbar 滚动条组件 —— 监听滚动条的滚动,跟随页面一起滚动,获取滚动距离,隐藏水平滚动条等
Element UI【详解】el-scrollbar 滚动条组件 —— 监听滚动条的滚动,跟随页面一起滚动,获取滚动距离,隐藏水平滚动条等
1170 0
|
前端开发 JavaScript 容器
JavaScrpit如何实现弹出遮罩层后将页面固定到当前位置且无法继续滚动
JavaScrpit如何实现弹出遮罩层后将页面固定到当前位置且无法继续滚动
74 0
|
6月前
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
|
6月前
|
前端开发 JavaScript 数据安全/隐私保护
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
105 0
设置按钮背景为透明去掉button按钮左右两边的留白
设置按钮背景为透明去掉button按钮左右两边的留白
|
前端开发 JavaScript 计算机视觉
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
1109 0
css动画:文字向上移动并逐渐消失 点击按钮显示+1上移淡出
|
小程序
小程序隐藏滚动条但还能继续滚动
小程序隐藏滚动条但还能继续滚动
155 0