如果想要控制按钮权限,单纯使用 change事件无法实现,因为这个事件发生的时候,按钮还没有被创建,所以引用时不起作用,只能在控件的complete事件中才能起作用,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:ns1="*" width="953" height="1328" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; import mx.events.IndexChangedEvent; protected function seta( ):void { // Todo Auto-generated method stub var a:int; a=s.selectedindex; if(a==0){ //Alert.show('0获得焦点'); this['btn1'].enabled=false; } if(a==1){ //Alert.show('1获得焦点'); this['btn2'].enabled=false; } } protected function application1_creationCompleteHandler(event:FlexEvent):void { seta(); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <ns1:date1 x="645" y="68" width="200"> </ns1:date1> <ns1:reg x="130" y="-8" width="2232" height="1554"> </ns1:reg> <mx:Accordion id="s" x="30" y="57" width="200" height="200" > <s:NavigatorContent width="100%" height="100%" label="可折叠窗格 1"> <s:Button id="btn1" x="51" y="83" label="按钮" creationComplete="seta();"/> </s:NavigatorContent> <s:NavigatorContent width="100%" height="100%" label="a"> <s:Button id="btn2" x="92" y="93" label="按钮" creationComplete="seta();"/> </s:NavigatorContent> </mx:Accordion> </s:Application>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。