В случае, если MenuEntry
объекты не являются отображаемыми объектами, вы можете выполнить итерацию по массиву MenuEntry
и сравнить, если кнопка совпадает с e.currentTarget
, чтобы найти MenuEntry
, который был нажат.
button.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void
{
var t:DisplayObject = DisplayObject(e.currentTarget);
var menuEntry:MenuEntry;
for(var i:Number = 0; i < menuEntries.length; i++)
{
if(menuEntries[i].button == t)
{
menuEntry = t;
break;
}
}
trace(menuEntry);
}
Если элементы MenuEntry действительно являются отображаемыми объектами, вы можете получить ссылку на них из свойства parent
кнопки
box.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void
{
var t:DisplayObject = DisplayObject(e.currentTarget);
trace(t);//traces box
trace(t.parent);/* traces box's parent which can be
the same as root if box is added
as child to the root */
trace(t.root);//traces the root
traceParents(t);
}
traceParents(t:DisplayObject):void
{
var p:DisplayObjectContainer = t.parent;
while(p != null)
{
trace(p);
p = p.parent;
}
}