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

Posted

技术标签:

【中文标题】Actionscript - 如何在 TabNavigator 的选项卡上设置单击处理程序?【英文标题】:Actionscript- How do I set a click handler on a tab in TabNavigator? 【发布时间】:2016-12-05 22:49:05 【问题描述】:

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

弹性:

 <mx:Box paddingLeft="0" paddingRight="0" paddingBottom="0" paddingTop="0"  
 <mx:VBox id="vbxhtmlBody"   horizontalScrollPolicy="off" horizontalAlign="center">
   <mx:TabNavigator id = "tabNav" borderStyle="solid"   creationPolicy="all">
     <mx:VBox label="Tab1"  >
          <mx:TextArea id="textArea1" paddingTop="25" paddingLeft="25" paddingRight="25" verticalScrollPolicy="on" focusThickness="0" borderThickness="0" borderStyle="none" editable="true" fontFamily="Arial" fontSize="14"  />
     </mx:VBox>
     <mx:VBox label="Tab2"   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"  />
     </mx:VBox>
   </mx:TabNavigator>
 </mx:VBox>
 </mx:Box>

动作脚本:

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

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

【问题讨论】:

【参考方案1】:

我使用 change="updateTextArea2()" 来监听对文本区域所做的任何更改。

【讨论】:

【参考方案2】:

请致电updateTextArea2()更改TabNavigator

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

而不是从VBox 更改。

【讨论】:

以上是关于Actionscript - 如何在 TabNavigator 的选项卡上设置单击处理程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ActionScript 3 中获取网页的输出

如何在 ActionScript 类中实现数据绑定?

如何在 Actionscript 3 中将数据写入 XML 文件

如何在 ActionScript 2 中绘制虚线?

ActionScript:如何在数组中调用对象函数?

如何在 Actionscript 中引用静态类