1

在我的程序中,我需要动态创建按钮及其侦听器。有没有办法确定哪个按钮触发了事件。每个按钮都包含一个唯一的文本,但我尝试使用“this”来访问文本但没有成功。请帮助提供的代码片段:

for(i=0;i<3;i++)
{
   subjectCode="MTOO"+(i+1);
   var subjectBtn:MovieClip=new subjectButton();
   subjectBtn.y=y+50+pos;
   subjectBtn.x=60;
   subjectBtn.subjCode.text=subjectCode;
   subjectBtn.addEventListener(MouseEvent.CLICK, displaySubjectAttendance);
   _subList.addChild(subjectBtn);
   pos+=140;
}
4

2 回答 2

1
// This is how I will access the text in the event handler:

function displaySubjectAttendance( event:MouseEvent ):void {
    subjectButton( event.currentTarget ).subjCode.text
}
于 2013-02-05T13:43:46.683 回答
1

您可以将事件侦听器中的按钮作为 evt.currentTarget 访问。

function displaySubjectAttendance(evt:MouseEvent):void {
    var button:MovieClip = evt.currentTarget as MovieClip;
}
于 2013-02-05T13:43:57.227 回答