无法将工具提示,onmouseover等事件添加到在RunTime上创建的组件

时间:2012-11-06 18:55:20

标签: flex flash-builder

我在这里遇到一种奇怪的情况。我无法将工具提示,鼠标(单击,鼠标悬停,鼠标移除)事件添加到容器(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事件。有人可以指导我哪里出错了吗?

感谢。

1 个答案:

答案 0 :(得分: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"/>

您可以尝试here。源代码为here。 我希望它会有所帮助。