Я пытаюсь программно передать фокус вновь созданному TextField
, но по какой-то причине setSelection
и setFocus
не работают. Например, см. Мой тестовый код ниже:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="_init()">
<mx:Button click="{tf.setSelection(1,2)}" />
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
public var tf:TextField
private function _init():void{
tf = new TextField();
tf.text = "abcdefghijk";
tf.type = TextFieldType.INPUT;
tf.autoSize = TextFieldAutoSize.LEFT;
var ui:UIComponent = new UIComponent();
ui.addChild(tf);
addChild(ui);
tf.setSelection(0,1);
ui.setFocus();
ui.addEventListener(MouseEvent.MOUSE_DOWN, function():void{
tf.setSelection(0,3);
});
}
]]>
</mx:Script>
</mx:Application>
Единственный setSelection
, который что-либо делает, это 0,3 на MOUSE_DOWN
. Я предполагаю, что все это как-то связано с тем, что текстовое поле фокусируется щелчком мыши, но я не могу понять, как это сделать вручную.