Apache flex 空中应用程序,在窗体中设置光标位置
我有一份带登录表的航空申请表。我要做的是在第一个文本输入框中设置光标。我只设法将焦点设置在框上,而不是光标上Apache flex 空中应用程序,在窗体中设置光标位置,apache-flex,actionscript-3,air,cursor,Apache Flex,Actionscript 3,Air,Cursor,我有一份带登录表的航空申请表。我要做的是在第一个文本输入框中设置光标。我只设法将焦点设置在框上,而不是光标上 有人知道我该怎么做吗?据我所知,在actionscript(flash)中无法控制鼠标,mouseX/mouseY属性是只读的 但是,您可以创建一个“假鼠标”,可以在AIR应用程序中四处移动,但我怀疑这是您想要做的事情,例如: 要将文本光标移动到文本字段,只需将设置为该字段 stage.focus=myTextField 要将光标移动到该文本字段中的特定索引,请使用: 您需要等待flex
有人知道我该怎么做吗?据我所知,在actionscript(flash)中无法控制鼠标,mouseX/mouseY属性是只读的 但是,您可以创建一个“假鼠标”,可以在AIR应用程序中四处移动,但我怀疑这是您想要做的事情,例如: 要将文本光标移动到文本字段,只需将设置为该字段
stage.focus=myTextField代码>
要将光标移动到该文本字段中的特定索引,请使用:
您需要等待flex容器在显示列表中注册,以便访问该阶段
从creationComplete处理程序调用init:
<mx:Script>
<![CDATA[
import flash.events.Event;
private function init():void
{
addEventListener(Event.ADDED_TO_STAGE, initScreen, false);
}
private function initScreen(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, initScreen);
stage.focus = userName;
}
]]>
</mx:Script>
<mx:Form defaultButton="{enterBtn}">
<mx:FormHeading label="Form" />
<mx:FormItem label="Username" tabIndex="1">
<mx:TextInput id="userName" text="" selectionBeginIndex="0" />
</mx:FormItem>
<mx:FormItem label="Password" tabIndex="2">
<mx:TextInput displayAsPassword="true" id="password"/>
</mx:FormItem>
</mx:Form>
在设置文本输入焦点之前,我可以建议将本机窗口设置为活动状态。
大概是这样的:
private function creationCompleteHandler(event:FlexEvent):void {
stage.nativeWindow.activate();
loginName.setFocus();
loginName.selectAll();
}
private function creationCompleteHandler(event:FlexEvent):void {
stage.nativeWindow.activate();
loginName.setFocus();
loginName.selectAll();
}