当前位置:首页 > VUE

vue点击实现冒泡

2026-02-18 07:54:06VUE

Vue 中实现点击事件冒泡的方法

在 Vue 中,默认情况下点击事件会自动冒泡。如果需要手动控制或阻止冒泡,可以使用以下方法:

允许事件冒泡

Vue 默认行为允许事件冒泡,无需额外操作:

vue点击实现冒泡

<template>
  <div @click="handleParentClick">
    <button @click="handleChildClick">点击我</button>
  </div>
</template>

<script>
export default {
  methods: {
    handleChildClick() {
      console.log('子元素点击');
    },
    handleParentClick() {
      console.log('父元素点击');
    }
  }
}
</script>

阻止事件冒泡

使用 .stop 修饰符阻止事件冒泡:

vue点击实现冒泡

<template>
  <div @click="handleParentClick">
    <button @click.stop="handleChildClick">点击我</button>
  </div>
</template>

使用原生事件对象

通过 $event 访问原生事件对象并调用 stopPropagation()

<template>
  <div @click="handleParentClick">
    <button @click="handleChildClick($event)">点击我</button>
  </div>
</template>

<script>
export default {
  methods: {
    handleChildClick(event) {
      event.stopPropagation();
      console.log('子元素点击');
    }
  }
}
</script>

事件捕获阶段处理

使用 .capture 修饰符在捕获阶段处理事件:

<template>
  <div @click.capture="handleParentClick">
    <button @click="handleChildClick">点击我</button>
  </div>
</template>

注意事项

  • 事件修饰符可以串联使用,如 @click.stop.prevent
  • 在自定义组件上使用原生事件需要添加 .native 修饰符
  • 事件冒泡是 DOM 原生行为,Vue 只是提供了更便捷的封装

标签: vue
分享给朋友:

相关文章

vue实现公告

vue实现公告

Vue 实现公告功能的方法 公告功能通常需要实现滚动展示、自动切换或固定显示的效果。以下是几种常见的实现方式: 使用 marquee 标签实现滚动公告 <template> <…

vue实现发帖

vue实现发帖

使用 Vue 实现发帖功能 前端实现 创建发帖表单组件,包含标题和内容输入框,以及提交按钮。使用 v-model 绑定表单数据。 <template> <div>…

mui实现vue

mui实现vue

mui 实现 Vue 的步骤 mui 是一个轻量级的前端框架,常用于移动端开发。结合 Vue 可以实现高效的开发体验。以下是具体实现方法。 安装 mui 和 Vue 通过 npm 或 yarn 安装…

自己实现vue

自己实现vue

实现简易版 Vue.js 核心功能 要实现一个简易版 Vue.js,需要理解其核心功能:数据响应式、模板编译、依赖收集和虚拟 DOM。以下分模块实现关键功能。 数据响应式(Reactivity) 通…

vue 实现路径

vue 实现路径

在 Vue 中实现路径管理通常涉及路由配置、动态路由、嵌套路由等场景,以下是具体实现方法: 基础路由配置 安装 Vue Router 并创建路由实例: npm install vue-router…

vue歌词滚动实现

vue歌词滚动实现

实现 Vue 歌词滚动的核心方法 监听当前播放时间 通过 audio 元素的 timeupdate 事件获取当前播放时间,并与歌词时间戳对比。在 Vue 中使用 @timeupdate 绑定事件:…