Flex 3 - 从TextInput聚焦输入/输出

时间:2012-01-26 20:30:46

标签: actionscript-3 events flex focus flex3

我正在尝试从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.*"
                width="255" height="310" 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 个答案:

答案 0 :(得分:0)

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