flex 4 TabNavigator 切换触发事件
发布时间:2020-12-15 03:43:08 所属栏目:百科 来源:网络整理
导读:/prepre name="code" class="html"?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" minWidth="955" minHeight="600"
</pre><pre name="code" class="html"><?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" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Script> <![CDATA[ import mx.controls.TabBar; import mx.controls.Button; import mx.controls.Alert; import mx.events.CloseEvent; import mx.managers.PopUpManager; private var iTabIndex:int; private var iToTabIndex:int; private var _updateAlert:Alert; public function init():void { iTabIndex = 0; iToTabIndex = 0; var btn:Button; for(var i:int=0;i<tab.getChildren().length;i++) { btn = tab.getTabAt(i); btn.addEventListener(MouseEvent.MOUSE_DOWN,tabClickHandler,false,111); } } private function tabClickHandler(event:MouseEvent):void { iToTabIndex = event.currentTarget.parent.getChildIndex(event.currentTarget); //终止事件 event.stopImmediatePropagation(); //给出提示message if(iToTabIndex !=iTabIndex) { showGoBack(); } } // alert public function showGoBack():void { Alert.buttonWidth = 100; Alert.yesLabel = "yes"; Alert.noLabel = "no"; var updateLabel:String = "要切换tab吗?"; this._updateAlert = Alert.show(updateLabel,"",Alert.YES | Alert.NO); this._updateAlert.addEventListener(CloseEvent.CLOSE,closeShowGoBack); } private function closeShowGoBack(e:CloseEvent):void { switch (e.detail) { case Alert.YES: iTabIndex = iToTabIndex; tab.selectedIndex = iTabIndex; break; case Alert.NO: PopUpManager.removePopUp(this._updateAlert); break; } } public function change(e:Event):void { Alert.show("CHANGE " + tab.selectedIndex.toString()); } //注释;creationPolicy="all",把tab的所有child全部初始化 ]]> </fx:Script> <mx:TabNavigator creationPolicy="all" id="tab" x="21" y="28" change="change(event)" width="200" height="200" > <mx:Canvas id="a" label="aa" width="100%" height="100%"> <mx:TextInput x="10" y="10" width="178"/> </mx:Canvas> <mx:Canvas id="b" label="bb" width="100%" height="100%"> <mx:Button id="abtn" x="10" y="50" label="Button"/> </mx:Canvas> </mx:TabNavigator> </s:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |