我使用的是flex 4.5 我正在使用spark.components.TextInput控件。 可以根据用户选择动态地改变文本的值。 问题是,在用户写入textInput并更改文本的值后,光标位置返回到textInput的开头,所以如果用户想继续在textInput中输入.text,首先需要将光标移动到端。
如何控制光标位置?
由于
答案 0 :(得分:1)
希望我能正确理解你的问题
我的工作流程:
我的代码示例
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Bindable]
private var pos:Number = 0;
protected function textinput1_selectionChangeHandler(event:FlexEvent):void
{
pos = TextInput(event.target).selectionAnchorPosition;
}
protected function button1_clickHandler(pos:Number):void
{
ti.setFocus();
ti.selectRange(pos,pos);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:TextInput id="ti" text="abces" selectionChange="textinput1_selectionChangeHandler(event)"/>
<s:Label text="{'lastCursorPos ' + pos}"/>
<s:Button label="Set pos 1" click="button1_clickHandler(1)" />
<s:Button label="Set pos 5" click="button1_clickHandler(5)" />
<s:Button label="Set pos 15" click="button1_clickHandler(15)" />
</s:Application>