别再混淆了:JavaScript 中 e.target 与 e.currentTarget 的真实区别与实战踩坑
写事件处理函数时,我见过太多人在 click 回调里随手用 e.target 去改样式或取数据,结果在嵌套结构里翻车。比如一个卡片列表,点击内部的删除按钮,却把整个卡片的背景色改了;或者用事件委托监听 ul,点击 li 里的 span 时拿到的 target 是 span,而你需要的是那个 li。这类问题的根源就是没分清 e.target 和 e.currentTarget。target 始终指向触发事件的原始元素,也就是你实际点中的那个节点;currentTarget 则指向当前绑定监听器的那个元素。在事件冒泡过程中,target 不会变,但 currentTarget 会随着事件流经过的每...