target 和currentTarget 都是对一个触发事件的对象的引用. 不同之处在于:

1,target 是对触发事件的对象的引用 (简称就是事件源,就是那个真实DOM本身)


2,currentTarget 当事件遍历DOM时,标识事件的当前目标。它总是引用事件处理程序附加到的元素(事件绑定的元素,不一定是那个真实DOM,因为会冒泡)


3,target在事件流的目标阶段;(指元素本身)


4,currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的 (这里就是说:只有是事件元素元素自身触发,指向才会是一样的)
# 因为会冒泡所以这个事件不一定是元素自身触发的


5,而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级)。(这里就是由于会冒泡就导致了指向会不一样)


:参考原文:https://zhuanlan.zhihu.com/p/33906656

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐