当前位置: 首页 > news >正文

避免事件“穿透”——Vue 中事件冒泡的理解与解决方案

一、事件冒泡是什么?

事件冒泡指的是:当某个元素上的事件被触发后,事件会从该元素向其父级、祖先元素一直“冒泡”传递,直到 document。这意味着,如果父元素绑定了点击事件,子元素触发点击时也可能顺带触发父元素的点击逻辑

<template><div class="card" @click="handleCardClick"><button @click="handleButtonClick">解除绑定</button></div>
</template>

点击按钮时,handleButtonClick 会执行,但由于事件冒泡,handleCardClick 也会被触发。

这就是我们常说的 点击“穿透” 问题。

二、如何阻止事件冒泡? 

只需要加上 .stop,就能阻止事件向上传播:

<button @click.stop="handleButtonClick">解除绑定</button>

三、原生写法对比

如果你是用原生 JavaScript 监听事件,那就需要显式调用 stopPropagation()

button.addEventListener('click', function(event) {event.stopPropagation(); // 阻止冒泡
});

四、总结

  • Vue 中事件“穿透”问题,本质是事件冒泡。

  • 使用 .stop 可以优雅地阻止冒泡。

  • 原生写法则用 event.stopPropagation()

http://www.dtcms.com/a/153722.html

相关文章:

  • HarmonyOS 框架基础知识
  • 力扣hot100 91-100记录
  • 如何构建高效的接口自动化测试框架?
  • Java转Go日记(十二):Channel
  • Java for循环中,如何在内循环跳出外循环?
  • MySQL 事务(详细版)
  • 2025五一杯数学建模竞赛思路助攻预定
  • 【Java面试笔记:进阶】18.什么情况下Java程序会产生死锁?如何定位、修复?
  • java多线程(3.0)
  • 【25软考网工】第三章(3)虚拟局域网VLAN
  • 拆解华为Pura X新发现:“仿生”散热与钛合金“骨架”
  • 每日算法——快乐数、两数之和
  • C++学习:六个月从基础到就业——STL算法(二)排序与变序算法
  • 《AI大模型应知应会100篇》 第36篇:RAG技术入门:检索增强生成原理及实现
  • 施磊老师基于muduo网络库的集群聊天服务器(六)
  • mybatis log convert使用
  • Java 高频面试题解析
  • 【android bluetooth 协议分析 06】【l2cap详解 9】【L2cap通道生命周期】
  • 【MobaXterm】---修改 MobaXterm 终端 默认字体和大小 保真
  • QSPI flash xip模式运行
  • 四、Python编程基础04
  • 《宝可梦明耀之星》正式登陆中国大陆!4月15日起陆续上市!
  • 母婴店商城小程序制作哪家强?告别传统经营,拥抱线上新机遇
  • TypeScript 开发实战:如何安全替换字符串中的关键字
  • 阿里云99机器总是宕机,实测还是磁盘性能差
  • 多路转接epoll原理详解
  • 应用信息1.13.0发布
  • verilog和system verilog常用数据类型以及常量汇总
  • SVN钩子脚本获取日志中文乱码解决办法
  • Android 混合开发实战:统一 View 与 Compose 的浅色/深色主题方案