游乐游手机版
首页/前端开发/文章详情

Vue基础语法中.self修饰符的用法与点击自身触发事件设置

时间:2026-08-18 16:06
self 修饰符用于限制事件仅在当前绑定元素自身被点击时触发;如果点击的是其子元素,即使事件发生冒泡,也不会执行对应回调。它非常适合需要区分“点击容器本身”与“点击内部元素”的使用场景,例如可展开面板、卡片区域或弹层标题的点击控制。 self 修饰符的功能非常直观:它让事件只有在当前绑定元素本身被

.self 修饰符用于限制事件仅在当前绑定元素自身被点击时触发;如果点击的是其子元素,即使事件发生冒泡,也不会执行对应回调。它非常适合需要区分“点击容器本身”与“点击内部元素”的使用场景,例如可展开面板、卡片区域或弹层标题的点击控制。

Vue基础语法怎么使用修饰符 .self 限制只有点击自身时触发事件

.self 修饰符的功能非常直观:它让事件只有在当前绑定元素本身被点击时才会触发。如果用户点击的是该元素内部的子元素,即便事件冒泡到了父级,也不会执行回调函数。

什么时候用 .self?

这种需求在各类容器元素中十分常见,比如卡片、导航菜单、弹窗外层、折叠面板等结构,开发时经常需要明确判断“点击的是容器自身”,还是“点击的是容器内部的具体内容”。以可展开面板为例,通常只希望用户点击面板标题时切换展开状态;如果点击的是内部按钮、链接或文本内容,就不应该顺带触发展开或收起逻辑。

.self 的写法和效果

写法很简单,直接加在事件指令后面即可:@click.self="handler"。需要注意的是,.self 不会阻止事件冒泡,也不会干扰子元素自身绑定的事件,它的本质是对事件触发来源进行判断,只“过滤”掉从子元素冒泡上来的同类事件。

  • ✅ 点击 div 自身空白区域 → 触发 handler
  • ❌ 点击 div 内部的 button/span/a 等子元素 → 不触发 handler(即使这些子元素没有绑定 click,或已经绑定了自己的 click,也互不影响)

对比其他修饰符更清楚

它和 .stop 并不是同一个概念:.stop 表示“直接阻止事件继续冒泡”,当子元素被点击后,事件不会再向父元素传递,因此父元素无法接收到这个点击事件;而 .self 更像是“父元素只响应自己本身触发的点击”。也就是说,父元素并没有失去监听事件的能力,子元素自己的事件依然可以正常执行(例如子元素绑定了 @click,仍会照常触发),只是对于那些由子元素冒泡上来的 click,父元素不会进行响应。

如果不使用修饰符,普通的 @click 属于“只要事件到达当前元素就执行”,无论是直接点击该元素,还是点击它的子元素并通过冒泡传上来,都会触发对应的方法。

一个小例子

下面这个 div 在点击空白区域时会弹出 alert,但点击里面的按钮时不会触发:

这是容器

来源:https://www.php.cn/faq/2989669.html
上一篇Vue导航守卫实现登录后自动跳转回访问目标页 下一篇如何避免Sass主题编译生成重复CSS代码
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CSS3入门指南:常用特性解析与实战练习路径
前端开发 · 2026-09-01

CSS3入门指南:常用特性解析与实战练习路径

CSS3是现代网页开发的核心技术,涵盖圆角、阴影、渐变、过渡、动画及响应式布局等高频特性。本文梳理了CSS3的核心应用场景、分步学习路径与综合练习案例,帮助初学者快速建立从基础排版到现代交互的完整开发思路,并规避常见样式陷阱。

CSS border 边框属性详解:语法、拆分写法与常见问题排查
前端开发 · 2026-09-01

CSS border 边框属性详解:语法、拆分写法与常见问题排查

本文系统讲解CSS标准边框属性border的完整语法结构,涵盖简写与拆分写法、单边控制技巧及border-radius配合方案。针对边框不显示、元素尺寸异常等高频问题提供排查路径,帮助开发者快速掌握边框设置规范并提升界面视觉一致性。

CSS3动画属性有哪些:常用属性与用法说明
前端开发 · 2026-09-01

CSS3动画属性有哪些:常用属性与用法说明

CSS3动画主要分为transition过渡与animation关键帧两类。本文梳理常用属性、简写语法与@keyframes规则,结合悬停、入场、循环等场景给出代码示例与选型建议,帮助开发者快速写出流畅且可控的动画效果。

CSS3渐变色语法与常见用法
前端开发 · 2026-09-01

CSS3渐变色语法与常见用法

CSS3渐变色通过纯代码生成平滑颜色过渡,广泛用于按钮、横幅与卡片背景。本文系统梳理线性与径向渐变的核心语法、方向控制、停靠点设置及多层叠加技巧,提供可直接复用的场景代码,并给出兼容性策略与常见渲染异常排查方法,帮助开发者快速构建稳定、可维护的渐变样式。

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议
前端开发 · 2026-09-01

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议

寻找CSS3手册中文版下载资源时,如何判断来源可靠性、筛选高质量内容并有效使用?本文从获取渠道、版本识别、下载验收到替代方案,提供一套可执行的判断标准,帮助你快速找到适合学习或查阅的中文手册。