事件代理中this指向绑定监听器的容器元素,event.target指向实际触发事件的最内层元素;二者配合实现一次绑定、多处响应,常用e.target.closest()精准定位目标,普通函数确保this正确指向容器。

在事件代理中,this 指向的是**当前绑定事件监听器的元素(即事件委托容器)**,而 event.target 指向的是**实际触发事件的最内层元素(即真正被点击/交互的子元素)**。二者配合使用,是实现“一次绑定、多处响应”的关键。
明确 this 和 target 的指向差异
假设你有一个列表容器,用事件代理监听所有 <li> 的点击:
const ul = document.getElementById('list');
ul.addEventListener('click', function(e) {
console.log(this); // →
(绑定监听器的元素)
console.log(e.target); // → 实际被点击的 - 或其内部的 /
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南