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つのボタンが作成されますが、クリックイベントは発生しません。誰かが私をどこで間​​違っているのか教えてもらえますか?

ありがとう。

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 に答える