我在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" width="250" height="200">
<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>
答案 0 :(得分:0)
在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>
答案 1 :(得分:0)
我通过在html-template / index.template.html中的body标签内添加它来解决它。
onLoad="window.document.Login.focus();"
并且它工作正常。谢谢大家:)
答案 2 :(得分:0)
索引模板:
<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'); } }