Flex - установить фокус на один компонент, пока пользователь не введет какое-то значение - PullRequest
2 голосов
/ 03 октября 2011

Я пытаюсь написать код для создания элемента управления вводом текста в flex.
Когда пользователь вводит значение в элемент управления вводом текста, а затем, если он удаляет набранные символы, чтобы сделать ввод текста пустым, я печатаю сообщение об ошибке через StringValidator .

Но я хочу, чтобы фокус ввода текста был установлен только до тех пор, пока пользователь входит что угодно. Как мне этого добиться?

Спасибо

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Как сказал Дэвид, я бы просто проверил, пуста ли строка, используя событие focusOut.Конечно, вам все равно нужно добавить логику StringValidator в код ..

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function focusOutHandler(event:FocusEvent):void
            {
                if (event.target.text == '')
                    event.target.setFocus();
            }

        ]]>
    </fx:Script>

    <s:TextInput id="myTextInput" focusOut="focusOutHandler(event)"/>

</s:WindowedApplication>
0 голосов
/ 03 октября 2011

Попробуйте прослушать FocusEvent.FOCUS_OUT в текстовом поле, затем перефокусировать его , если оно пустое.

...