0

我在这里面临一个奇怪的情况。我无法将工具提示、鼠标(单击、鼠标悬停、鼠标输出)事件添加到容器(HBox)内的运行时创建的按钮。

此 init() 函数在 creationComplete 事件下执行。

private function init():void
{
for(var i:int=0;i<5;i++)
{
myButton = new Button();
myButton.id="mBtn"+i;
myButton.label="Test";
myButton.addEventListener(MouseEvent.CLICK,onDblClick);
camCont.addChildAt(myButton,i); //camCont is the HBox control
}
}

protected function onDblClick(event:MouseEvent):void
{
Alert.show("Click event works !!!");
}

执行此应用程序时,会创建 5 个按钮,但不会触发 click 事件。有人可以指导我哪里出错了吗?

谢谢。

4

1 回答 1

0

你可以试试这段代码(这行得通!):

//代码

public function init():void{
        var btn:Button = new Button();
    btn.addEventListener(MouseEvent.CLICK, showAlert);
    container.addChild(btn);
}

private function showAlert(event:Event):void{
    Alert.show("CLICK!!!");
}

//MXML

<mx:HBox id="container"/>

你可以在这里试试。源代码在这里。我希望它会有所帮助。

于 2012-11-07T13:13:58.323 回答