键盘焦点在 ActionScript 中的文本框上
Posted
技术标签:
【中文标题】键盘焦点在 ActionScript 中的文本框上【英文标题】:Keyboard-focus on Texbox in ActionScript 【发布时间】:2015-11-12 14:29:25 【问题描述】:我在 Flex 上制作了一个登录表单,并将焦点设置在第一个文本框上。 文本框突出显示,但我必须单击它才能在其中写入。 我怎样才能让它直接接受键盘输入而不点击?我的意思是在加载页面后直接。
<fx:Script>
<![CDATA[
private function init():void
trace("Authentication View init");
ExternalInterface.call('function browserFocus()document.getElementById(\'$application\').focus();');
this.txtUsername.setFocus();
this.txtUsername.setFocus();
]]>
</fx:Script>
<s:Panel x="353" y="164" >
<s:TextInput id="txtUsername" x="103" y="49" focusEnabled="true"/>
<s:TextInput x="103" y="79"/>
<s:Label x="26" y="49" text="Username"/>
<s:Label x="26" y="79" text="Password"/>
</s:Panel>
【问题讨论】:
使用 FocusManager 类的 setFocus 方法:Documentation。所以在你的情况下focusmanager.setfocus(txtUsername)
它说:这一行有多个标记:-未定义属性焦点管理器的访问-1更改行
“未定义属性焦点管理器的访问”
抱歉,打错了。 focusManager
是属性的名称。
谢谢,但没用。我也面临同样的问题:(
【参考方案1】:
在init()
函数中设置焦点,如下所示。
txtUsername.setFocus();
并在 html 结束标记之前的 html-template/index.template.html. 内应用以下代码。
<script type="text/javascript">
function onFlexInitialized()
//alert("onFlexInitialized");
<!-- Force the browser to set flex app with focus -->
document.getElementById("$application").focus();
</script>
【讨论】:
是的,我认为这就是问题所在。但我无法将焦点放在 Flas 应用程序本身上。 @Subaiesarah 你有没有在里面设置给定的脚本。html-template/index.template.html
?【参考方案2】:
我通过在 html-template/index.template.html 的 body 标记中添加这个来解决它。
onLoad="window.document.Login.focus();"
它工作正常。谢谢大家:)
【讨论】:
【参考方案3】:索引模板:
<div id="flashContent"> <script type="text/javascript"> function setFocus() window.document.getElementById("APPNAME").focus(); $('#txtUsername').focus(); $('#txtUsername').focusEnables=true; </script> </div>
应用:
private function init():void if (ExternalInterface.available) ExternalInterface.call('setFocus');
【讨论】:
以上是关于键盘焦点在 ActionScript 中的文本框上的主要内容,如果未能解决你的问题,请参考以下文章
Java Swing(初学者):有6个文本框竖直排列和两个按钮(bt1和bt2),默认焦点在第一个文本框上。