0

我有一个作为 children<mx:TabNavigator><s:NavigatorContent>标签。我希望这些选项卡在我单击它们时调度一个事件。我在 NavigatorContent 中尝试了“点击”事件,但它没有做任何事情。有人有经验吗?谢谢

4

3 回答 3

2

嗨,我相信使用演出活动可能会做你想要的?

我希望在显示特定内容时触发一个事件,并且我希望对我的 tabnavigator 的每个 navigatorcontent 执行不同的操作。

希望它可以帮助某人:)

于 2011-03-24T22:07:56.887 回答
2

我相信你想要这个change活动。

它继承自ViewStack容器:http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/containers/ViewStack.html#event:change

于 2011-02-02T11:33:00.713 回答
1
<mx:Module>
    <mx:TitleWindow id="tw" creationComplete="{init();}">
        <mx:Script>
            <![CDATA[
                import mx.controls.Button;
                import mx.events.FlexEvent;
                private function init():void {
                    for (var i:int=0; i<tabNav.getChildren().length; i++)  
                    {  
                        var tab:Button = tabNav.getTabAt(i);  
                        tab.addEventListener(FlexEvent.BUTTON_DOWN,tabClickHandler);  
                    }  
                }
                private function onClickTab(event:Event):void {
                    tw.title="onClickTab:"+event.target;
                }
                private function tabClickHandler(event:FlexEvent):void {
                    for (var i:int=0; i<tabNav.getChildren().length; i++)  
                    {  
                        if (event.target == tabNav.getTabAt(i)) {
                            var child:Object = tabNav.getChildAt(i);
                            child.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
                            break;
                        }
                    }  
                }  
            ]]>
        </mx:Script>
        <mx:TabNavigator id="tabNav" width="200" height="200">
            <mx:VBox id="vbTab1" label="Tab 1" click="onClickTab(event)">
            </mx:VBox>
            <mx:VBox id="vbTab2" label="Tab 2" click="onClickTab(event)">
            </mx:VBox>
        </mx:TabNavigator>
    </mx:TitleWindow>
</mx:Module>
于 2012-03-21T16:37:48.513 回答