真正的事件dispatch者是event.target,监听事件(addEventListner)的对象是event.currentTarget,Flex skd中有言曰:
"Event
objects also have target properties that reference the actual object
which dispatched the event. In some cases, the target may not be the
object for which you have registered a listener. This can occur when
the object for which you have registered a listener contains a child
component that also dispatches the same event (and
the event
bubbles). If you want to ensure that you are getting a reference to the
object for which the listener is registered to listen for the event,
use the currentTarget property"
例:如为容器mc1创建了一个同类型(或者说拥有相同事件)的子容器
mc2,再为mc1注册click事件监听器,当单击子容器mc2时,则event.target指事件dispatch者mc2,而
event.currentTarget指当前的事件处理者mc1,因此在使用时如果是要获取被注册事件监听器的对象(一般都是如此)则用
event.currentTarget,currentTarget属性应具备两条件,一是它注册了侦听器,二是正在处理事件。
Target与CurrentTarget的区别
最新推荐文章于 2025-05-29 14:47:16 发布