如何从点击的组件中获取id

时间:2011-12-10 14:28:42

标签: actionscript-3 flex actionscript

在运行时,我创建了Group类的多个瞬间,如下所示:

var groupArtist:Group = new Group();
groupArtist.id = artistXML.id;
groupArtist.width = 150;
groupArtist.height = 170;
groupArtist.clipAndEnableScrolling = true;
groupArtist.layout = new VerticalLayout();

我添加了一个eventlistener:

 groupArtist.addEventListener(MouseEvent.CLICK, viewDetails);

这是eventlistener:

private function viewDetails(event:MouseEvent):void
{
    Alert.show(event.target.id);
}

但它不起作用。如何获取所点击组的ID? 我已经检查过了,并且正确地将ID添加到了groupinstances。

1 个答案:

答案 0 :(得分:3)

试试这个:

Alert.show(event.currentTarget.id);

您发出的警告是单击的“目标”,并在“MouseEvent.CLICK”事件中关联,您可能需要“currentTarget”。 As Flex Documentation explains on this,“每个事件对象都有目标 currentTarget 属性,可帮助您跟踪传播过程中的位置。目标属性指向事件的调度程序。 currentTarget属性指的是正在检查事件侦听器的当前节点。“。

世界上最有趣的人通常不会在Actionscript中编码......但是当他这样做时,他使用了event.currentTarget。