事件代理 淺談

事件代理是一種將事件處理委托給父元素或祖先元素來管理的技術。當子元素觸發特定事件時,該事件不會直接在子元素上進行處理,而是會冒泡到父元素或祖先元素,并在那里進行處理。這樣做的好處是可以減少事件處理函數的數量,提高性能,并且可以動態添加或刪除子元素而無需重新綁定事件處理函數。

以下是一個使用事件代理的示例代碼:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Event Delegation Example</title>
<style>.container {border: 1px solid #ccc;padding: 20px;}.item {cursor: pointer;margin-bottom: 10px;}
</style>
</head>
<body><div class="container" id="container"><div class="item">Item 1</div><div class="item">Item 2</div><div class="item">Item 3</div>
</div><script>
// 獲取父元素
const container = document.getElementById('container');// 添加事件監聽器到父元素上
container.addEventListener('click', function(event) {// 檢查點擊的元素是否為子元素if (event.target.classList.contains('item')) {// 如果是子元素,輸出其文本內容console.log('Clicked item:', event.target.textContent);}
});
</script></body>
</html>

在這里插入圖片描述在這里插入圖片描述

在這個示例中,我們將點擊事件綁定在父元素 .container 上。當點擊子元素 .item 時,事件會冒泡到父元素,然后在父元素上進行處理。這樣做的好處是無論我們添加或刪除子元素,點擊事件都能被正確地處理,而不需要重新綁定事件處理函數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10294.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10294.shtml

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

相關文章

VR智慧文旅:開啟“韻味”旅游季的新篇章

為了充分滿足游客的假日文化旅游需求&#xff0c;各地紛紛“解鎖”新花樣&#xff0c;沉浸式實景觀展震撼“出圈”。在數字化浪潮的推動下&#xff0c;文化旅游行業正經歷著變革&#xff0c;在萬物皆可沉浸的時代&#xff0c;VR智慧文旅燃起了不一樣的熱度。 許多業內人士認為&…

hdfs磁盤清理歷史數據

hdfs集群磁盤清理歷史數據流程如下&#xff1a; #可以查看web界面hdfs集群的磁盤使用率,并記錄下來,對比清理后的效果: 清理前 86.00% 194.24TB/225.85TB #統計warehouse目錄下的磁盤使用量(目前表都是建在該路徑下) hadoop fs -du -h /user/hive/warehouse #統計bak目錄下磁…

Tiff文件解析和PackBits解壓縮

實現了Tiff圖片文件格式的解析&#xff0c;對Tiff文件中的PackBits壓縮格式進行解壓縮&#xff0c;對Tiff文件中每一個Frame轉換成BufferedImage顯示。 Java語言實現&#xff0c;Eclipse下開發&#xff0c;AWT顯示圖片。 public static TIFF Parse(final byte[] bytes) throw…

Kubernetes 上搭建一個 Nginx 的 Pod,并確保傳入的 API 請求被均勻地分發到兩個 Java 業務 Pod 上

目錄 步驟一&#xff1a;創建兩個 Java 業務 Pod步驟二&#xff1a;創建一個 Nginx Pod步驟三&#xff1a;創建一個 Service步驟四&#xff1a;創建一個 Ingress注意事項 要在 Kubernetes 上搭建一個 Nginx 的 Pod&#xff0c;并確保傳入的 API 請求被均勻地分發到兩個 Java 業…

排序算法(Java版)

目錄 1、直接插入排序2、希爾排序3、直接選擇排序4、堆排序5、冒泡排序6、快速排序6.1 遞歸實現6.2 非遞歸實現 7、歸并排序7.1 遞歸實現7.2 非遞歸實現 8、性能分析 今天我們學習一種算法&#xff1a;排序算法&#xff08;本文的排序默認是從小到大順序&#xff09;&#xff0…

C++純C實現貪吃蛇小游戲

公眾號&#xff1a;編程驛站 #include <stdio.h> #include <windows.h> #include <stdlib.h> #include <time.h>//描述蛇的節點信息 typedef struct SnakeNode {int x;int y; } Snode;//箱子&#xff1a;放置蛇的所有節點 Snode snakes[100]; //保存…

滲透思考題

一&#xff0c;嘗試登錄。 客戶端對密碼進行哈希處理并緩存密碼hash&#xff0c;丟棄實際的明文密碼&#xff0c;然后將用戶名發送到服務器&#xff0c;發起認證請求 密文存儲位置&#xff1a;數據庫文件位于C:WindowsSystem32configsam&#xff0c;同時掛載在注冊表中的HKLMSA…

C語言【文件操作 1】

文章目錄 1.為什么使用文件2.文件是什么&#xff1f;2.1程序文件2.2數據文件 3.二進制文件和文本文件4.文件的打開和關閉4.1流和標準流流標準流 4.2文件指針4.3文件的打開和關閉 結語 1.為什么使用文件 很簡單 長久的存儲數據 如果沒有文件&#xff0c;我們寫程序所產生的數據…

商米-android-使用NFC讀IC卡,身份證云解和IC卡同時兼容

商米介紹地址&#xff1a;https://www.sunmi.com/ 商米是一個提供手持PDA的一個很好的解決方案廠商&#xff0c; 也有其他的一些桌面設備。 其中商米提供的軟件服務中&#xff0c;比較特別的是 身份證云解功能。 此處重點說明一下&#xff0c;身份證云解功能。 以往市面上的身…

Vue學習JSON.stringify()將Object類型轉換成String類型

Vue學習JSON.stringify&#xff08;&#xff09;將Object類型轉換成String類型 一、前言1、基本用法2、復雜對象轉換3、過濾器函數4、序列化函數 一、前言 JSON.stringify() 是一個 JavaScript 函數&#xff0c;用于將 JavaScript 值轉換為 JSON 字符串。它接受一個 JavaScrip…

深入探索MySQL視圖

前言 在數據庫的世界里&#xff0c;MySQL視圖作為數據抽象的一把利劍&#xff0c;為我們提供了一種靈活而高效的方式來管理和查詢數據。它不僅能夠簡化復雜的查詢邏輯&#xff0c;還能在不改動底層數據結構的前提下&#xff0c;實現數據的定制化展示與訪問控制。本文旨在深入解…

【小紅書采集工具】根據搜索關鍵詞批量采集小紅書筆記,含筆記正文、筆記鏈接、發布時間、轉評贊藏等

一、背景介紹 1.1 爬取目標 熟悉我的小伙伴都了解&#xff0c;我之前開發過2款軟件&#xff1a; 【GUI軟件】小紅書搜索結果批量采集&#xff0c;支持多個關鍵詞同時抓取&#xff01; 【GUI軟件】小紅書詳情數據批量采集&#xff0c;含筆記內容、轉評贊藏等&#xff0c;支持…

【C++】string類的使用①(默認成員函數 || 迭代器接口begin,end,rbegin和rend)

&#x1f525;個人主頁&#xff1a; Forcible Bug Maker &#x1f525;專欄&#xff1a; STL || C 目錄 前言&#x1f308;關于string類&#x1f308;string類的成員函數&#x1f525;默認成員函數string類對象的構造(constructor)string類對象的析構string類對象的賦值運算符…

NPOI生成word浮動圖標

1、NPOI版本2.7.0, net框架4.8 2、安裝OpenXMLSDKToolV25.msi 3、先創建一個word文檔&#xff0c;并設置圖片為浮于文字之上 4、OpenXML顯示的結果 5、實際代碼如下&#xff1a; public class GenerateWordDemo {public GenerateWordDemo(){}//https://blog.fileformat.co…

js由那三部分組成

JavaScript 主要由三部分組成&#xff1a;ECMAScript、DOM&#xff08;文檔對象模型&#xff09;和 BOM&#xff08;瀏覽器對象模型&#xff09;。 1、ECMAScript ECMAScript 是 JavaScript 的核心&#xff0c;描述了語言的基本語法&#xff08;變量、函數、條件語句、循環、…

前端筆記-day03

文章目錄 01-初始CSS02-CSS引入方式03-標簽選擇器04-類選擇器05-id選擇器06-通配符選擇器07-畫盒子08-字體大小09-文字粗細10-字體傾斜11-行高12-行高垂直居中13-字體族14-font復合屬性15-文本縮進16-文本對齊方式17-圖片對齊方式18-文本修飾線19-文字顏色20-調試工具21-綜合案…

Dual Aggregation Transformer for Image Super-Resolution論文總結

題目&#xff1a;Dual Aggregation Transformer&#xff08;雙聚合Transformer&#xff09; for Image Super-Resolution&#xff08;圖像超分辨&#xff09; 論文&#xff08;ICCV&#xff09;&#xff1a;Chen_Dual_Aggregation_Transformer_for_Image_Super-Resolution_ICCV…

IM 是什么?

在當今數字化的時代&#xff0c;即時通訊&#xff08;IM&#xff09;已經滲透到人們的日常生活和企業的工作環境中。IM技術的快速i發展為人們提供了一種高效、便捷的溝通方式&#xff0c;不僅推動了社會的信息化進程&#xff0c;也提升了企業的協同效率和競爭力。 作為企業級I…

【GD32】01-GPIO通用輸入輸出

GD32 閑話說在前頭 這里又開一個系列啦。 原因就是之前買了立創開發板的9.9的GD32E230C8T6的板子&#xff0c;買都買了就跟著立創開發板學習一下&#xff08;屬于是一次性支持了兩個國產品牌了&#xff0c;立創和兆易創新&#xff09;。并且我還買了GD32F407VET6的板子&…

資金流分析下的企業供貨關系強度模型

圖技術 利用neo4j、networkx、dgl、python做圖分析挖掘 【1】最短路徑算法dijkstra 【2】基于networkx的隱性集團關系識別模型 【3】基于Neo4j的擔保社群型態分析挖掘 【4】基于python求有向無環圖中target到其他節點全路徑 【5】有向圖中任意兩點的路徑 【6】圖基礎入門 【7】…