Flex - 将焦点设置在一个组件上,直到用户输入某个值

发布于 2024-12-07 17:32:34 字数 214 浏览 1 评论 0原文

我正在尝试编写在 Flex 中制作文本输入控件的代码。
当用户在文本输入控件中输入值,然后如果他删除键入的字符以使文本输入为空,那么我会通过 StringValidator 打印错误消息。

但我希望焦点仅设置在该文本输入上,直到用户 输入任何东西。我怎样才能实现这一目标?

谢谢

I am trying to write the code for making a text input control in flex.
As the user enters the value in text input control and then if he removes the typed characters to make the text input blank, then I print error message via StringValidator.

But I want the focus to be set on that text input only until the user
enters anything. How can I achieve that ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

亢潮 2024-12-14 17:32:34

就像大卫说的,我只是使用 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>

Like David said, I would just check if the string is empty using the focusOut event. Of course, you still have to add the StringValidator logic to the code..

<?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>
美人迟暮 2024-12-14 17:32:34

尝试监听 FocusEvent.FOCUS_OUT< /code>在文本字段上,然后 如果为空,请重新聚焦

Try listening for a FocusEvent.FOCUS_OUT on the text field, then re-focus it if it's blank.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文