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

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

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

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

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

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

相关推荐
Victory_20256 分钟前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
时光足迹18 分钟前
Tiptap 简单编辑器模版
前端·javascript·react.js
Cyber4K22 分钟前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
吴声子夜歌29 分钟前
Vue3——使用Mock.js
javascript·vue·mock.js
JSLove31 分钟前
nginx入门
前端·nginx
中犇科技31 分钟前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
时光足迹32 分钟前
ThreeJS之GUI控制器
前端·javascript·three.js
时光足迹33 分钟前
Tiptap编辑器
前端·javascript·react.js
im_AMBER35 分钟前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵