关于js事件中的target、currentTarget及事件委托的理解

1. target: 只位于其事件流的目标阶段;指向事件发生时的元素

(在IE中为srcElement, Chrome中均有,FileFox只有target; let target = event.target || event.srcElement)


2. currentTarget: 可位于捕获、冒泡和目标阶段;始终指向绑定事件的元素

(如div>ul>li结构,事件委托在div上,target可能为三者之一, 而currentTarget始终为div)


3. 事件委托的两种形式:

1.$el.on('click', func)

2.$el.on('click', childSelector, func)

在第一种形式中,currentTarget始终为el,而在第二种形式中currentTarget为childEl

在event对象中有个delegateTarget,指向事件所委托在的元素,上述两种情况皆为el

若对于事件的3个阶段还不太了解的,欢迎移步js事件的三个阶段(捕获、目标、冒泡)

猜你喜欢

转载自blog.csdn.net/qq_33576343/article/details/80898471