【发布时间】: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.*"
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;
}
这段代码有什么问题吗?我只是困惑。
【问题讨论】:
标签: actionscript-3 events apache-flex focus flex3