Flex 3 - 来自 TextInput 的焦点输入/输出

Posted

技术标签:

【中文标题】Flex 3 - 来自 TextInput 的焦点输入/输出【英文标题】:Flex 3 - Focus In/Out from TextInput 【发布时间】:2012-02-19 22:42:22 【问题描述】:

我正在尝试从 Flex 3 中的 TextInput 实现 Focus In/Out。我正在使用控制器来处理所有组件事件,我的想法是使用 switch 语句“转发”到适当的方法,具体取决于在目标上。 我的 TextInput 的 id 为“contactInput”,但是,事件目标有“MainView0.topContainer.contactInput.UITextField8”之类的东西。这个 UITextField8 来自哪里?我不能只通过“contactInput”选择吗? 这是我的代码,在应用程序上我为所有事件定义了 focusIn/focusOut:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                xmlns:ui="ui.*"
                xmlns:ws="ui.presenters.*"
                xmlns:components="ui.components.*"
                  minWidth="255" minHeight="310"
                creationComplete="controller.init(event)"                       
                styleName="application" 
                        applicationComplete="controller.init(event)"
                        focusIn="controller.focusIn(event)"
                focusOut="controller.focusOut(event)"

我的控制器代码:

 public function focusIn(event:FocusEvent):void                    
        Alert.show("focus in -> target: " + event.target);

        switch (event.target) 
            case view.contactInput:             
                onContactInputFocusIn();
                break;
        
    

     public function focusOut(event:Event):void 
        Alert.show("focus out -> target: " + event.target);

        switch (event.target) 

            case view.contactInput:
                onContactInputFocusOut();
                break;          
        

这段代码有什么问题吗?我只是困惑。

【问题讨论】:

【参考方案1】:

尝试将 Alert.show 函数放在 case 和 onContactInputFocusOut() 函数之间。将 Alert.show 放在两个函数中,然后检查它是否进入 case 语句......

【讨论】:

以上是关于Flex 3 - 来自 TextInput 的焦点输入/输出的主要内容,如果未能解决你的问题,请参考以下文章

Flex 4.6 AIR 3.2 TextInput 工件

Flex:在输入 ENTER 后 setFocus 不起作用

如何在 Flex 3 中的 TextInput 上的 keyDownHandler 上设置文本属性

将 DropShadowFilter 应用于 Flex 3 中 mx.controls.TextInput 组件中的文本

在 Flex 中处理 TextInput 的宽度和样式

Flex Mobile textInput 滚动文本滞后