Событие нажатия вкладок flex tabnavigator
У меня есть <mx:TabNavigator>
который имеет некоторые <s:NavigatorContent>
теги как дети. Я хочу, чтобы вкладки отправляли событие при нажатии на них. Я попробовал событие "click" в NavigatorContent, но оно ничего не сделало. У кого-нибудь есть опыт работы с этим? Спасибо
3 ответа
Я верю, что вы хотите change
событие.
Наследуется от ViewStack
контейнер: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/containers/ViewStack.html
Привет, я верю, что использование шоу может сделать то, что вы хотите?
я хотел, чтобы событие срабатывало, когда показывалось конкретное, и я хотел, чтобы каждое содержание навигатора моего табнавигатора имело свое действие.
надеюсь, это поможет кому-то:)
<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>