как разместить курсор в текстовом вводе во Flex3 - PullRequest
2 голосов
/ 21 апреля 2011

как разместить курсор при вводе текста при входе в систему.Я хочу поместить курсор в поле ввода имени пользователя.. Любая помощь очень ценится!

Ответы [ 5 ]

1 голос
/ 16 ноября 2012
    <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Label id="laa" x="264" y="118" width="160"/>
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            [Bindable]
            private var tempArr:Array;
            private function myFunc(event:TextEvent):void{
            tempArr=new Array();

                for(var i:int=0, j:int=0;i<myarr.length;i++){
                if(myarr[i].names.toString().match(textinput.text)){
                        tempArr[j]=myarr[i];
                        j++;
                }else{

                }
                }
                ls.dataProvider=tempArr;
                ls.visible=true;

            }
        ]]>
    </mx:Script>


    <mx:Array id="myarr">
        <mx:Object names="Subudhi"/>
        <mx:Object names="Subbu"/>
        <mx:Object names="Harish"/>
        <mx:Object names="Hari"/>
        <mx:Object names="Subramanyam"/>
        <mx:Object names="Suresh"/>
        <mx:Object names="Surya"/>
        <mx:Object names="Harsha"/>
        <mx:Object names="Geetha"/>
        <mx:Object names="Gentle"/>
        <mx:Object names="gentleman"/>
        <mx:Object names="sunny"/>
        <mx:Object names="sunday"/>
    </mx:Array>
    <mx:TextInput id="textinput" x="264" y="10" textInput="myFunc(event)" focusOut="ls.visible=false"/>
    <mx:List  id="ls" x="264" y="31" height="66"   visible="false" labelField="names" width="160" backgroundColor="#F3EBEB"></mx:List>
</mx:Application>

    enter code here
1 голос
/ 21 апреля 2011

Чтобы согласиться с ответом J_A_X, если вы пытаетесь установить фокус на компоненте при первой загрузке приложения, вам также необходимо использовать некоторый javascript для установки фокуса на SWF .

Вот пример кода из этой статьи:

Javascript:

<script type="text/javascript">
function onFlexInitialized()
{
    //alert("onFlexInitialized");

    <!-- Force the browser to set flex app with focus -->
    document.getElementById("${application}").focus();
}
</script>

ActionScript:

/**
 * Constructor.
 */
public function AppController()
{
    FlexGlobals.topLevelApplication.addEventListener(FlexEvent.APPLICATION_COMPLETE, onAppComplete); // Flex 4
        //Application.application.addEventListener(FlexEvent.APPLICATION_COMPLETE, onAppComplete); // Flex 3
}

/**
 * Handles the application complete event.
 */
protected function onAppComplete(e:FlexEvent):void
{
    FlexGlobals.topLevelApplication.removeEventListener(FlexEvent.APPLICATION_COMPLETE, onAppComplete); // Flex 4
        //Application.application.removeEventListener(FlexEvent.APPLICATION_COMPLETE, onAppComplete); // Flex 3

    if(ExternalInterface.available)
    {
        ExternalInterface.call("onFlexInitialized");
    }
}
1 голос
/ 21 апреля 2011

Вы не можете вручную перемещать курсор мыши, однако вы всегда можете установить фокус на TextInput после заполнения формы:

<mx:Canvas creationComplete="onCreationComplete()">
   <mx:Script>
      <![CDATA[
         private function onCreationComplete():void
         {
            input.setFocus();
         }
      ]]>
   </mx:Script>
   <mx:TextInput id="input" />
</mx:Canvas>
0 голосов
/ 28 июля 2014
navigateToURL(new URLRequest("javascript: document.getElementById('XXX').focus();"), "_self"); 
userNameInput.setFocus(); 

Где XXX - имя файла SWF.

0 голосов
/ 21 апреля 2011

ПО форуму Adobe, решение является поставщиком для почти такой же проблемы. Ck

Как программно перемещать курсор при вводе текста

Надежды на помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...