Слушатель не наследует значения, он может получить ссылку на объект, отправивший событие, используя свойство event.target
, или ссылку на объект, с которым был зарегистрирован слушатель события, event.currentTarget
свойство. Таким образом, вы можете получить доступ к открытым свойствам объекта, отправившего событие, используя ссылку, полученную из свойства target/currentTarget
события.
function someFunction():void
{
//abc is local variable and inaccessible outside someFunction
var abc:ABC = new ABC();
abc.prop = "someValue";
abc.addEventListener(Event.TYPE, handleEvent);
}
function handleEvent(e:Event):void
{
//get a reference to the object that was declared
//in someFunction using the event.currentTarget.
var abc:ABC = ABC(e.currentTarget);
trace(abc.prop);//traces someValue
}
//some where in the ABC class:
this.dispatchEvent(new Event(Event.TYPE));
Если вам интересно, свойства event.target
и event.currentTarget
могут отличаться. Добавьте прослушиватель события click к спрайту и щелкните текстовое поле внутри спрайта (которое является его дочерним элементом) и проверьте значения target
и currentTarget
. Цель будет текстовым полем, а текущая цель - самим спрайтом.