Vue 模板事件怎么使用 capture 启用事件捕获模式

阿墨同学_6159

阿墨同学_6159

2026-10-23

107人浏览

原创

在 vue 中使用 .capture 修饰符可将事件监听器提前至捕获阶段执行,即从外层父元素由上至下触发;如 点我,点击按钮时先执行 handleouter 再执行 handleinner。

vue 模板事件怎么使用 capture 启用事件捕获模式

在 Vue 模板中启用事件捕获模式,只需在 @click(或其他事件)后添加 .capture 修饰符即可。它会把事件监听器从默认的冒泡阶段提前到捕获阶段执行——也就是从外层父元素开始,由上至下逐级触发,而不是点击目标后再向上冒泡。

直接加 .capture 就生效

不需要额外配置或 JS 手动调用 addEventListener 的第三个参数 true,Vue 已封装好底层逻辑:

  • <div><button>点我</button></div>
  • 点击按钮时,先执行 handleOuter(捕获阶段),再执行 handleInner(目标阶段)
  • 注意:.capture 只影响绑定它的那个元素的监听时机,不改变子元素事件本身的传播路径

适合用 capture 的典型场景

不是所有点击都要加 .capture,关键看是否需要“父级优先响应”:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习