Бен совершенно прав в своем ответе - так что имейте в виду то, что он говорит. То, что я собираюсь рассказать вам, не является полным объяснением, но это очень простой способ запомнить, как e.target
, e.currentTarget
работают в отношении событий мыши и списка отображения:
e.target
= вещь под мышкой (как говорит Бен ... вещь, которая вызывает событие).
e.currentTarget
= вещь перед точкой ... (см. Ниже)
Итак, если у вас есть 10 кнопок внутри клипа с именем экземпляра «btns», и вы делаете:
btns.addEventListener(MouseEvent.MOUSE_OVER, onOver);
// btns = the thing before the dot of an addEventListener call
function onOver(e:MouseEvent):void{
trace(e.target.name, e.currentTarget.name);
}
e.target
будет одной из 10 кнопок, а e.currentTarget
всегда будет клипом "btns".
Стоит отметить, что если вы изменили MouseEvent на ROLL_OVER или установите для свойства btns.mouseChildren
значение false, e.target
и e.currentTarget
всегда будут равны "btns".