键盘 - 在ActionScript中专注于Texbox

时间:2015-08-19 10:30:46

标签: actionscript-3 flex actionscript flash-builder

我在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>

3 个答案:

答案 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');
  } 
}