JavaScript,如何区分EventListener内的currentTarget和target?
发布于 作者:苏南大叔 来源:程序如此灵动~

在上面的文字里面,理解了事件注册器addEventListener和removeEventListener。那么,在event
里面有个currentTarget
和target
,用于标识当前的触发事件相关的元素。那么,两者有什么区别呢?这就是本文要描述的问题。

苏南大叔的程序如此灵动博客,记录苏南大叔和计算机代码的故事。测试环境:谷歌浏览器。
基本区别
要说起这两个target
的区别,还要从event
事件冒泡开始说起。
冒泡的意思是从内到外,一个事件会不断扩散,从一个dom
到另外一个外层的dom
,不断扩散。(有参数可以改变这个顺序,但不在本文的考虑范围内)。那么,currentTarget
和target
的区别就在这里了:
target
是最初的触发事件的那个dom
。currentTarget
是当前事件在不断扩散的过程中,扩散到的那个dom
。
测试范例
这里放置三层div
,都监控click
事件。

测试结果
点击最内侧的div
,看事件传递的结果中,对currentTarget
和target
的识别结果。

结束语
结论是慢慢得出的,一点一点的接近真相。


