我有一个带文本框的自定义组件&一个按钮 如
<mx:HBox>
<mx:Text id="source" height="100%" width="40%" data="my text" />
<mx:VBox backgroundAlpha="0" height="100%" borderThickness="0">
<mx:PopUpButton enabled="true" id="editButton" width="40" icon="@Embed('assets/images/Legends/editIcon.png')"
initialize="popUpButton_initialize()"
popUp="{actionMenuEdit}"
height="19" toolTip="Edit at segment"/>
</mx:VBox>
</mx:HBox>
我使用此自定义组件作为datagrid的itemEditor
我有焦点问题。我需要在弹出按钮项目单击后将焦点设置到文本 场景是我在源文本中键入文本。如果我转到弹出按钮并单击任何项目,焦点将移动到弹出按钮,我无法在焦点丢失时输入文本。
我需要在弹出按钮项目选择后将焦点设置回源代码,以便我可以继续输入。 目前我需要点击文本中的增益,然后我就可以输入。
答案 0 :(得分:0)
source.setFocus()
答案 1 :(得分:0)
您需要为弹出按钮的更改事件添加处理程序,以将焦点设置到文本框。
这将是这样的:
this.focusManager.setFocus(source);
或在您的示例中:
<mx:HBox>
<mx:Text id="source" height="100%" width="40%" data="my text" />
<mx:VBox backgroundAlpha="0" height="100%" borderThickness="0">
<mx:PopUpButton enabled="true" id="editButton" width="40" icon="@Embed('assets/images/Legends/editIcon.png')"
initialize="popUpButton_initialize()"
popUp="{actionMenuEdit}"
change="{this.focusManager.setFocus(source)}"
height="19" toolTip="Edit at segment"/>
</mx:VBox>
</mx:HBox>
答案 2 :(得分:0)
可以帮助你
if (flexApplication != "undefined") flexApplication.focus();