Actionscript-如何在TabNavigator中的选项卡上设置单击处理程序?

时间:2016-07-31 22:40:32

标签: flex actionscript adobe mxml

我想在单击选项卡时更新第二个选项卡下的TextArea。但是,只有在我单击TextArea或该文本区域的容器时才会更新。

软硬度:

 <mx:Box paddingLeft="0" paddingRight="0" paddingBottom="0" paddingTop="0" width="100%" height="100%"
 <mx:VBox id="vbxHTMLBody" width="100%" height="100%" horizontalScrollPolicy="off" horizontalAlign="center">
   <mx:TabNavigator id = "tabNav" borderStyle="solid" width="100%" height="100%" creationPolicy="all">
     <mx:VBox label="Tab1" width="100%" height="100%">
          <mx:TextArea id="textArea1" paddingTop="25" paddingLeft="25" paddingRight="25" verticalScrollPolicy="on" focusThickness="0" borderThickness="0" borderStyle="none" editable="true" fontFamily="Arial" fontSize="14" width="100%" height="100%"/>
     </mx:VBox>
     <mx:VBox label="Tab2" width="100%" height="100%" click="updateTextArea2()">    
          <mx:TextArea id="textArea2" paddingTop="25" paddingLeft="25" paddingRight="25" verticalScrollPolicy="on" focusThickness="0" borderThickness="0" borderStyle="none" editable="true" fontFamily="Arial" fontSize="14" width="100%" height="100%"/>
     </mx:VBox>
   </mx:TabNavigator>
 </mx:VBox>
 </mx:Box>

的ActionScript:

private function updateTextArea2(): void {
    textArea2.htmlText = textArea1.text;
    tabNav.validateNow();
    textArea2.validateNow();
}

*我也尝试将点击监听器设置为外部容器,但也没有用。

2 个答案:

答案 0 :(得分:0)

我使用了change =&#34; updateTextArea2()&#34;听取对文本区域所做的任何更改。

答案 1 :(得分:0)

更改updateTextArea2()时调用TabNavigator

<mx:TabNavigator id="tabNav" change=updateTextArea2()">

而不是VBox更改。