什么是事件代理?什么事件委托?

事件代理:把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务

事件委托就是利用事件冒泡,只指定一个事件处理程序,管理当前绑定下的所有元素的事件。

复制代码
// 获取父元素  
var parentElement = document.getElementById('parent');  
  
// 绑定事件到父元素上  
parentElement.addEventListener('click', function(event) {  
  // 判断是否是目标元素被点击  
  if (event.target.tagName === 'BUTTON') {  
    // 处理目标元素的点击事件  
    console.log('Button clicked!');  
  }  
});

在上面的代码中,我们将事件处理程序绑定到了ID为parent的元素上,而不是绑定到每个子元素上。当子元素被点击时,事件冒泡到父元素上,并触发事件处理程序。在事件处理程序中,我们通过event.target属性获取被点击的元素,并判断是否是目标元素(这里为按钮元素)。如果是目标元素,则执行相应的处理逻辑。

通过这种方式,我们可以减少事件处理程序的绑定数量,提高代码的复用性和性能。同时,事件代理/委托也可以方便地处理动态添加的子元素,因为这些子元素的事件也会冒泡到父元素上,并触发相应的事件处理程序。

相关推荐
摇滚侠16 分钟前
Vue 项目实战《尚医通》,获取当前账户就诊人信息并展示出来,笔记42
前端·javascript·vue.js·笔记·html5
han_21 分钟前
前端高频面试题之Vue-router篇
前端·vue.js·面试
用户479492835691526 分钟前
接手祖传代码后,我终于理解了"组合优于继承"
javascript
C.果栗子27 分钟前
Blob格式的PDF文件调用打印,浏览器文件打印(兼容)
前端·javascript·pdf
夏霞37 分钟前
c# ASP.NET Core SignalR 客户端与服务端自动重连配置指南
开发语言·c#·asp.net
@老蝴1 小时前
Java EE - 常见的死锁和解决方法
java·开发语言·java-ee
倚肆2 小时前
CSS 选择器空格使用区别详解
前端·css
盼哥PyAI实验室2 小时前
学会给网页穿衣服——学习 CSS 语言
前端·css·学习
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 25--数据驱动--参数化处理 Excel 文件 2
前端·python·学习·测试工具·ui·pytest
San30.2 小时前
从代码规范到 AI Agent:现代前端开发的智能化演进
javascript·人工智能·代码规范