6

在从我的代码中附加一些文本后,我试图将 Flex TextArea 中的插入符号移到末尾。我查看了 TextArea 及其基础 TextField 的参考文档,但似乎没有提供处理此问题的方法。

我尝试过的一种方法是将焦点设置到文本区域并调度 KeyUp KeyboardEvent 并将事件的键代码设置为“结束”键,但这不起作用。

关于如何做到这一点的任何想法?

谢谢。

4

6 回答 6

9

试试这个

textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
于 2009-02-02T07:24:22.633 回答
4

对于寻找 Spark 组件方式的人来说,Flex 4.5,使用selectRange(anchorIndex, activeIndex)

于 2012-02-21T22:08:20.297 回答
2

要将插入符号设置在 textArea 中的任何位置,您需要做的就是

textArea.setSelection(beginIndex, endIndex);

如果您将 beginIndex 和 endIndex 设置为相同的值(在您的情况下为 textArea.text.length),插入符号将放置在该位置。如果将其设置为不同的值,则该范围内的文本将突出显示。

于 2009-07-17T10:54:57.207 回答
0

我相信你可以直接设置textarea的滚动条

verticalScrollPosition : Number
textArea.verticalScrollPosition(i);
于 2009-02-13T19:31:17.050 回答
0

@Paul Stewart verticalScrollPosition 是属性而不是方法,因此您必须像使用字段一样使用它,例如:

var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;

使用它而不是 selectionBeginIndex/selectionEndIndex 的优点是您不必设置焦点。

于 2010-03-17T13:48:48.587 回答
0

将文本添加到 TextArea 后,只需添加以下代码:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
于 2012-03-24T14:15:51.207 回答