读书人

动态添加的控件有关问题

发布时间: 2012-03-12 12:45:32 作者: rapoo

动态添加的控件问题
我用一个for循环添加了很多Button控件,例如:

for(var i:int = 0;i < 5;i++)
{
var btnNote:Button=new Button();
btnNote.name="btnNote"+i.toString();
btnNote.addEventListener(MouseEvent.CLICK, AddNoteInfo);
}

添加好这些控件后,我在点击其中某个控件的时候,我要怎么知道我点击的是哪一个控件?或者说怎么取得当前点击控件的name或id(如果有的话)。

请大虾指教,谢谢。

[解决办法]
for(var i:int = 0;i < 5;i++)
{
var btnNote:Button=new Button();
btnNote.id="btnNote"+i.toString(); //这里最好用id
btnNote.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void {AddNoteInfo(e,"btnNote"+i.toString)}); }

private function AddNoteInfo(e:Event,id:String):void{
这个id 就是你 click 那个button
}



[解决办法]
我这样没问题
private function anyEvent():void{
for(var i:int = 0; i < 5; i++){
var btn:Button = new Button();
btn.id = "btn_id_" + i;
btn.name = "btn_name_" + i;
btn.x = i * 100;
btn.label = "btn_label_" + i;
this.addChild(btn);
btn.addEventListener(MouseEvent.CLICK,onBtnClick);

}
}

private function onBtnClick(event:MouseEvent):void{
var btn:Button = Button(event.currentTarget);
Alert.show(btn.id);
}

读书人网 >flex

热点推荐