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