Actionscript 3 在flex中打开弹出窗口时,在按钮中设置焦点
我无法将焦点设置在打开弹出窗口的按钮上。 按钮获得焦点,但它没有获得该焦点的外观。 就好像没有任何组件是focu 我的源代码:Actionscript 3 在flex中打开弹出窗口时,在按钮中设置焦点,actionscript-3,apache-flex,flex4,flex3,flex4.5,Actionscript 3,Apache Flex,Flex4,Flex3,Flex4.5,我无法将焦点设置在打开弹出窗口的按钮上。 按钮获得焦点,但它没有获得该焦点的外观。 就好像没有任何组件是focu 我的源代码: <?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="libr
<?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">
<fx:Script>
<![CDATA[
import comps.MyPopUpWindow;
import mx.events.FlexEvent;
import mx.managers.PopUpManager;
// declare a variable for the reusable custom PopUp Window
private var popup:MyPopUpWindow;
private function openPopUpWindow(evt:FlexEvent=null):void {
// open the PopUp Window as a modal popup window
// and store it in a variable for later use
popup = PopUpManager.createPopUp(this,MyPopUpWindow,true) as MyPopUpWindow;
}
protected function button1_clickHandler(event:MouseEvent):void
{
openPopUpWindow();
}
]]>
</fx:Script>
<s:Button click="button1_clickHandler(event)" label="Open popup"/>
</s:Application>
弹出窗口:
<mx:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="300"
layout="vertical"
title="Title"
showCloseButton="true"
keyDown="titlewindow1_keyDownHandler(event)"
close="titlewindow1_closeHandler(event)"
creationComplete="titlewindow1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.IFlexDisplayObject;
import mx.events.CloseEvent;
import mx.events.FlexEvent;
import mx.managers.IFocusManagerComponent;
import mx.managers.PopUpManager;
protected function titlewindow1_creationCompleteHandler(event:FlexEvent):void
{
login.setFocus();
var componente:Button = focusManager.getFocus() as Button;
//Alert.show(componente.name ,'Save'); to ensure that the component holds the focu.
}
protected function titlewindow1_keyDownHandler(event:KeyboardEvent):void
{
if (event.charCode == Keyboard.ESCAPE) {
this.dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
}
}
protected function titlewindow1_closeHandler(event:CloseEvent):void
{
PopUpManager.removePopUp(event.target as IFlexDisplayObject);
}
protected function save_keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ENTER)
Alert.show('Login','Login');
}
protected function login_clickHandler(event:MouseEvent):void
{
Alert.show('Login','Login');
}
]]>
</fx:Script>
<mx:Button id="login" label="Login" click="login_clickHandler(event)"/>
<mx:Button id="cancel" label="Cancel" />
</mx:TitleWindow>
谢谢。最好在特定按钮上手动发送事件。
我通过了一个简单的测试,但不知道它为什么有效。当我打开弹出窗口时,我在按钮中首先配置了文本输入,然后配置了文本输入和文本输入。您已经包含了很多代码;你可以试着更专注一点。我看不到一个你试图设置焦点的地方。你好。正在尝试中的方法creationComplete=“titlewindow1\u creationcompletedhandler(event)”。