Flash 聚焦输入/输出问题-按钮未聚焦

Flash 聚焦输入/输出问题-按钮未聚焦,flash,apache-flex,actionscript,alert,setfocus,Flash,Apache Flex,Actionscript,Alert,Setfocus,当我按下警报框的*OK按钮时,我希望txtOther.textbox处于焦点位置。 此处,当显示警报框时,txtbox会聚焦,当我按下文本框的OK按钮时,txtOther.textbox不会聚焦 MXML SCRIPT: <mx:Canvas id ="parentCanvas1" label="General" > <mx:VBox id="parentBox1"> <mx:Canvas id="cvsGeneral"> <mx:TextInput

当我按下警报框的*OK按钮时,我希望txtOther.textbox处于焦点位置。 此处,当显示警报框时,txtbox会聚焦,当我按下文本框的OK按钮时,txtOther.textbox不会聚焦

MXML SCRIPT:

<mx:Canvas id ="parentCanvas1" label="General" >
<mx:VBox id="parentBox1">
<mx:Canvas id="cvsGeneral"> 
<mx:TextInput id="txtOther" focusOut="txtOther_Validate();"/>
</mx:Canvas>
</mx:VBox>                              
</mx:Canvas>

<mx:Canvas id="parentCanvas2" >
<mx:HBox id="parentBox2" >
<mx:Button label="Save" id="btnSave" click="txtOther_Validate();" />
</mx:HBox>
</mx:Canvas>

////////////Action script////////////////////
public function txtOther_Validate(): void {     
     // here lets assume that the result variable is stored as "FAILURE"     
    if(result == "FAILURE"){  
        Alert.show("Please enter a valid Format Mask.");        
         txtOther.setFocus(); //   
         } 
}
MXML脚本:
////////////动作脚本////////////////////
公共函数txtOther_Validate():void{
//这里让我们假设结果变量存储为“FAILURE”
如果(结果=“失败”){
显示(“请输入有效的格式掩码”);
txtOther.setFocus();//
} 
}
此处即使显示警报框,也会设置txtother.textbox的焦点。但按下警报的OK按钮后,TxtOther.text框的焦点未设置。因此,这里我想在按下警报窗口的OK按钮之后而不是之前触发foccus事件。如何执行…

当调用Alert.show()时,将返回的警报实例存储在变量中。在该变量上,设置一个将侦听自定义事件的事件侦听器。该事件处理程序的目的是将焦点设置在txtOther上

以下是一些代码片段:

private var alert:Alert = Alert.show(blah);

alert.addEventListener(mx.events.FlexEvent.REMOVE, removeHandler, false, 0, true);

private function removeHandler(event:FlexEvent):void
{
    txtOther.setFocus();
}
调用Alert.show()时,将返回的警报实例存储在变量中。在该变量上,设置一个将侦听自定义事件的事件侦听器。该事件处理程序的目的是将焦点设置在txtOther上

以下是一些代码片段:

private var alert:Alert = Alert.show(blah);

alert.addEventListener(mx.events.FlexEvent.REMOVE, removeHandler, false, 0, true);

private function removeHandler(event:FlexEvent):void
{
    txtOther.setFocus();
}

正常警报的设置我把警报设置为这样

Alert.show("Please enter a valid Format Mask.", "Validation Error", Alert.OK, this, alrt_close);
然后我通过

private function alrt_close(evt:CloseEvent):void {
    txtOther.setFocus(); 

这对我来说很有效。

正常警报的安装我将警报设置为这样

Alert.show("Please enter a valid Format Mask.", "Validation Error", Alert.OK, this, alrt_close);
然后我通过

private function alrt_close(evt:CloseEvent):void {
    txtOther.setFocus(); 

这对我来说效果很好。

您正在对哪个TextInput的focusOut执行验证?如何创建警报框?请显示一些代码。为什么要删除此问题?以下是说明:如果您希望编辑自己的问题,。看这里:实际上这是上面链接的副本,但这里我把我的要求简化了。。因此,请不要忽略我的问题,即使警告框显示,txtother.textbox的焦点也已设置。。但按下警报的ok按钮后,TxtOther.text框的焦点未设置。。因此,在按下警报窗口的ok按钮后,我决定触发foccus事件。。如何做到这一点…好吧,如果这是我投票决定的同一个问题,作为一个完全相同的问题来结束。你在对哪个TextInput的focusOut进行验证?如何创建警报框?请显示一些代码。为什么要删除此问题?以下是说明:如果您希望编辑自己的问题,。看这里:实际上这是上面链接的副本,但这里我把我的要求简化了。。因此,请不要忽略我的问题,即使警告框显示,txtother.textbox的焦点也已设置。。但按下警报的ok按钮后,TxtOther.text框的焦点未设置。。因此,在按下警报窗口的ok按钮后,我决定触发foccus事件。。如何做到这一点…好吧,如果这是我投票决定的同一个问题,作为一个完全重复的问题。