避免事件“穿透”——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.pswp.cn/bicheng/78210.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78210.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78210.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Java面試筆記:進階】17.一個線程兩次調用start()方法會出現什么情況?

1. 線程啟動與異常 線程啟動:Java 線程只能啟動一次,通過調用 Thread 對象的 start() 方法。多次啟動的后果:如果嘗試第二次調用 start() 方法,會拋出 IllegalThreadStateException 運行時異常。(1) 代碼示例 public class ThreadStartDemo {public static void main(Stri…

Flask + ajax上傳文件(一)

一、概述 本教程將教你如何使用Flask后端和AJAX前端實現文件上傳功能,包含完整的代碼實現和詳細解釋。 二、環境準備 1. 所需工具和庫 Python 3.xFlask框架jQuery庫Bootstrap(可選,用于美化界面)2. 安裝Flask pip install flask三、項目結構 upload_project/ ├── a…

NHANES指標推薦:TyG-WHtR

文章題目&#xff1a;Can cardiovascular health and its modifiable healthy lifestyle offset the increased risk of all-cause and cardiovascular deaths associated with insulin resistance? DOI&#xff1a;10.1186/s12933-025-02674-z 中文標題&#xff1a;心血管健康…

OpenHarmony 開源鴻蒙北向開發——hdc工具使用及常用命令(持續更新)

hdc&#xff08;OpenHarmony Device Connector&#xff09;是為開發人員提供的用于設備連接調試的命令行工具&#xff0c;該工具需支持部署在 Windows/Linux/Mac 等系統上與 OpenHarmony 設備&#xff08;或模擬器&#xff09;進行連接調試通信。簡單來講&#xff0c;hdc 是 Op…

MCP servers源碼詳細解析

MCP servers詳細解析 Model Context Protocol (MCP) 是一個標準化協議&#xff0c;用于讓大型語言模型&#xff08;LLMs&#xff09;通過結構化服務器安全地與工具和數據源交互。項目提供了 參考實現、官方集成和社區貢獻的服務器&#xff0c;支持數據庫、API、文件系統等場景…

美樂迪電玩大廳加載機制與 RoomList 配置結構分析

本篇為《美樂迪電玩全套系統搭建》系列的第三篇&#xff0c;聚焦大廳與子游戲的動態加載機制&#xff0c;深入解析 roomlist.json 的數據結構、解析流程、入口配置方式與自定義接入擴展技巧。通過本篇內容&#xff0c;開發者可實現自由控制子游戲接入與分發策略。 一、RoomList…

HarmonyOS-ArkUI: 屬性動畫:animation

HarmonyOS-ArkUI:關鍵幀動畫 keyFrameAnimateTo-CSDN博客 HarmonyOS-ArkUI: animateTo 顯式動畫-CSDN博客 至今為止,已經講了兩個動畫了(顯式動畫,關鍵幀動畫如鏈接所示),這個屬性動畫是第三個。鴻蒙的屬性動畫,和Android中的屬性動畫,迥異,也就是名字不同罷了。所以之…

強化學習(Reinforcement Learning, RL)和深度學習(Deep Learning, DL)

強化學習&#xff08;Reinforcement Learning, RL&#xff09;和深度學習&#xff08;Deep Learning, DL&#xff09;是人工智能領域兩個重要的研究方向&#xff0c;雖然二者可以結合&#xff08;如深度強化學習&#xff09;&#xff0c;但其核心思想、目標和應用場景存在本質區…

處理任務“無需等待”:集成RabbitMQ實現異步通信與系統解耦

在前幾篇文章中&#xff0c;我們構建的Web應用遵循了一個常見的同步處理模式&#xff1a;用戶發出HTTP請求 -> Controller接收 -> Service處理&#xff08;可能涉及數據庫操作、調用其他內部方法&#xff09;-> Controller返回HTTP響應。這個流程簡單直接&#xff0c;…

Obsidian和Ollama大語言模型的交互過程

之前的文章中介紹了Obsidian配合Ollama的使用案例&#xff0c;那么它們是如何配合起來的呢&#xff1f;其實這個問題并不準確&#xff0c;問題的準確描述應該是Obsidian的Copilot插件是如何與Ollama大語言模型交互的。因為Obsidian在這里只是一個載體&#xff0c;核心功能還是C…

4.1 融合架構設計:LLM與Agent的協同工作模型

大型語言模型&#xff08;Large Language Models, LLMs&#xff09;與智能代理&#xff08;Agent&#xff09;的融合架構已成為人工智能領域推動企業智能化的核心技術。這種協同工作模型利用LLM的語言理解、推理和生成能力&#xff0c;為Agent提供強大的知識支持&#xff0c;而…

龍虎榜——20250424

指數依然是震蕩走勢&#xff0c;接下來兩天調整的概率較大 2025年4月24日龍虎榜行業方向分析 一、核心主線方向 化工&#xff08;新能源材料產能集中&#xff09; ? 代表標的&#xff1a;紅寶麗&#xff08;環氧丙烷/鋰電材料&#xff09;、中欣氟材&#xff08;氟化工&…

Linux 服務器運維常用命令大全

1.基礎命令 1.1 文件與目錄操作 ls -l #列出文件詳細信息 ls -a #顯示隱藏文件 cd /path/to/directory #切換目錄 pwd #顯示當前工作目錄 mkdir dirname #創建目錄 rm -rf dirname #刪除…

動態渲染頁面智能嗅探:機器學習判定AJAX加載觸發條件

本文提出了一種基于機器學習的智能嗅探機制&#xff0c;革新性地應用于自動判定動態渲染頁面中AJAX加載的最佳觸發時機。系統架構采用先進模塊化拆解設計&#xff0c;由請求分析模塊、機器學習判定模塊、數據采集模塊和文件存儲模塊四大核心部分構成。在核心代碼示例中&#xf…

sql高級之回表

避免回表是數據庫查詢優化的核心目標之一&#xff0c;指通過索引直接獲取查詢所需的全部數據&#xff0c;無需根據索引結果再回主表&#xff08;數據行&#xff09;讀取其他字段&#xff0c;從而減少磁盤 I/O 和計算開銷。以下是詳細解釋&#xff1a; 1. 什么是回表&#xff1…

第十一屆機械工程、材料和自動化技術國際會議(MMEAT 2025)

重要信息 官網&#xff1a;www.mmeat.net 時間&#xff1a;2025年06月23-25日 地點&#xff1a;中國-深圳 部分展示 征稿主題 智能制造和工業自動化 復合材料與高性能材料先進制造技術 自動化機器人系統 云制造與物聯網集成 精密制造技術 智能生產線優化 實時數據分析與過…

動態自適應分區算法(DAPS)設計流程詳解

動態自適應分區算法&#xff08;Dynamic Adaptive Partitioning System, DAPS&#xff09;是一種通過實時監測系統狀態并動態調整資源分配策略的智能算法&#xff0c;廣泛應用于緩存優化、分布式系統、工業制造等領域。本文將從設計流程的核心步驟出發&#xff0c;結合數學模型…

從入門到精通:CMakeLists.txt 完全指南

從入門到精通&#xff1a;CMakeLists.txt 完全指南 CMake 是一個跨平臺的自動化構建系統&#xff0c;它使用名為 CMakeLists.txt 的配置文件來控制軟件的編譯過程。無論你是剛接觸 CMake 的新手&#xff0c;還是希望提升 CMake 技能的中級開發者&#xff0c;這篇指南都將帶你從…

CPT204 Advanced Obejct-Oriented Programming 高級面向對象編程 Pt.8 排序算法

文章目錄 1. 排序算法1.1 冒泡排序&#xff08;Bubble sort&#xff09;1.2 歸并排序&#xff08;Merge Sort&#xff09;1.3 快速排序&#xff08;Quick Sort&#xff09;1.4 堆排序&#xff08;Heap Sort&#xff09; 2. 在面向對象編程中終身學習2.1 記錄和反思學習過程2.2 …

【element plus】解決報錯error:ResizeObserver loop limit exceeded的問題

當我們在使用element plus框架時&#xff0c;有時會遇到屏幕突然變暗&#xff0c;然后來一句莫名其妙的報錯ResizeObserver loop limit exceeded&#xff0c;其實這是因為改變屏幕大小時el-table導致的報錯 網上給出了幾種解決方案&#xff0c;我試了其中兩種可以實現 方案一&…