一文快速学会阻止事件冒泡的4种方法(原生js阻止,vue中使用修饰符阻止)

 更新时间:2023年12月12日 10:53:32   作者:黄橘子panda  
冒泡就是事件开始是由最具体的元素接收,然后逐层向上级传播到较为不具体的元素,这篇文章主要给大家介绍了关于阻止事件冒泡的4种方法,文中介绍的方法分别是原生js阻止以及vue中使用修饰符阻止的相关资料,需要的朋友可以参考下

阻止事件冒泡的方法

前端结构

<div id="app">
    <div class="father-box" @click="clickFatherBox">
        我是父盒子
        <div class="son-box" @click="clickSonBox">
          我是子盒子
        </div>
    </div>
</div>
 methods: {
        clickSonBox(){
          alert("子盒子")
        },
        clickFatherBox(){
          alert("父盒子")
        }
},

事件冒泡:clickSonBox事件发生时clickFatherBox事件也被触发了

此时点击子盒子 对话框弹出两次

方法1:使用js阻止事件冒泡

clickSonBox(e){
    e.stopPropagation();
    alert("子盒子")
},
    //或者
clickSonBox(e){
     e.cancelBubble=true
     alert("子盒子")
   },

方法2:使用事件修饰符stop

绑定事件时,使用stop修饰符阻止事件冒泡

<div class="father-box" @click="clickFatherBox">我是父盒子
    <div class="son-box" @click.stop="clickSonBox">
      我是子盒子
    </div>
</div>

方法3:使用事件修饰符self

绑定事件时,使用self修饰符 表示只在本元素被点击时触发

<div class="father-box" @click.self="clickFatherBox">
     我是父盒子
     <div class="son-box" @click="clickSonBox">
       我是子盒子
     </div>
 </div>

注意:

self修饰符应该在父盒子绑定事件时使用而不是子盒子! 在父盒子事件使用self,点击了子盒子,父盒子的点击事件不会被触发,即事件没有冒泡,

self表示只在当前元素发生事件时,事件才触发

总结

到此这篇关于阻止事件冒泡的4种方法(原生js阻止,vue中使用修饰符阻止)的文章就介绍到这了,更多相关前端阻止事件冒泡方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue $attrs的使用全面解析

    vue $attrs的使用全面解析

    这篇文章主要介绍了vue $attrs的使用全面解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue中遇到scrollIntoView无效问题及解决

    vue中遇到scrollIntoView无效问题及解决

    这篇文章主要介绍了vue中遇到scrollIntoView无效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue基础之v-bind属性、class和style用法分析

    vue基础之v-bind属性、class和style用法分析

    这篇文章主要介绍了vue基础之v-bind属性、class和style用法,结合实例形式分析了vue.js中v-bind绑定及class、style样式控制相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • 前端架构vue架构插槽slot使用教程

    前端架构vue架构插槽slot使用教程

    这篇文章主要为大家介绍了前端vue架构插槽slot使用教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02
  • vue中PC端使用高德地图实现搜索定位、地址标记、弹窗显示定位详情(完整实例)

    vue中PC端使用高德地图实现搜索定位、地址标记、弹窗显示定位详情(完整实例)

    这篇文章主要介绍了vue中PC端使用高德地图实现搜索定位、地址标记、弹窗显示定位详情,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 56个实用的JavaScript 工具函数助你提升开发效率

    56个实用的JavaScript 工具函数助你提升开发效率

    今天来看看JavaScript中的一些实用的工具函数,希望能帮助你提高开发效率!需要的朋友可以参考下面文章的具体内容
    2021-10-10
  • vue 封装 Adminlte3组件的实现

    vue 封装 Adminlte3组件的实现

    这篇文章主要介绍了vue 封装 Adminlte3组件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • vue自定义全局组件实现弹框案例

    vue自定义全局组件实现弹框案例

    这篇文章主要为大家详细介绍了vue自定义全局组件实现弹框案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Element Badge标记的使用方法

    Element Badge标记的使用方法

    这篇文章主要介绍了Element Badge标记的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vue select组件的使用与禁用实现代码

    vue select组件的使用与禁用实现代码

    这篇文章主要介绍了vue--select组件的使用与禁用的实现代码,非常不错,具有参考借鉴价值 ,需要的朋友可以参考下
    2018-04-04

最新评论