1. target: 只位于其事件流的目标阶段;指向事件发生时的元素
2. currentTarget: 可位于捕获、冒泡和目标阶段;始终指向绑定事件的元素
(如div>ul>li结构,事件委托在div上,target可能为三者之一, 而currentTarget始终为div)
3. 事件委托:将事件绑定在父级元素上,利用事件的冒泡,以达到只绑定一个事件而能监听所有子级元素的目的,从而大幅提升性能
事件委托的两种形式(如有成百上千个 li 的 ul 元素,以jQuery为例):
1.$el.on('click', func)
2.$el.on('click', childSelector, func)
在第一种形式中,currentTarget始终为el,而在第二种形式中currentTarget为childEl
在jquery event对象中有个delegateTarget,指向事件所委托在的元素,上述两种情况皆为el,即事件都委托在了el上
若对于事件的3个阶段还不太了解的,欢迎移步js事件的三个阶段(捕获、目标、冒泡)
欢迎关注、点赞