我正在尝试从我的代码中添加一些文本后将Flex TextArea中的插入符号移到最后。我查看了TextArea及其底层TextField的参考文档,但似乎没有提供任何方法来处理这个问题。
我尝试过的一种方法是将焦点设置到文本区域并调度KeyUp KeyboardEvent,并将事件的键码设置为“End”键,但这不起作用。
关于如何做到这一点的任何想法?
感谢。
答案 0 :(得分:9)
试试这个
textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
答案 1 :(得分:4)
对于寻找Spark组件方式的人来说,Flex 4.5使用selectRange(anchorIndex, activeIndex)
答案 2 :(得分:2)
要将插入符号设置在textArea中的任何位置,只需
即可textArea.setSelection(beginIndex,endIndex);
如果你设置了beginIndex& endIndex为相同的值(在您的情况下为textArea.text.length),插入符号将放置在该位置。如果将其设置为不同的值,则该范围内的文本将突出显示。
答案 3 :(得分:0)
我相信你可以用
直接设置textarea的滚动条verticalScrollPosition : Number
textArea.verticalScrollPosition(i);
答案 4 :(得分:0)
@Paul Stewart verticalScrollPosition是一个属性而不是方法,所以你必须使用它类似于一个字段,如:
var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;
在selectionBeginIndex / selectionEndIndex上使用它的优点是你不必设置一个问题。
答案 5 :(得分:0)
在向TextArea添加文本后,只需添加以下代码:
textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;