您如何以编程方式将 Flex TextArea 的插入符号移到末尾?
Posted
技术标签:
【中文标题】您如何以编程方式将 Flex TextArea 的插入符号移到末尾?【英文标题】:How do you programmatically move the caret of a Flex TextArea to the end? 【发布时间】:2010-10-04 21:11:59 【问题描述】:在从我的代码中附加一些文本后,我试图将 Flex TextArea 中的插入符号移到末尾。我查看了 TextArea 及其底层 TextField 的参考文档,但似乎没有提供处理此问题的方法。
我尝试过的一种方法是将焦点设置到文本区域并调度 KeyUp KeyboardEvent 并将事件的键代码设置为“结束”键,但这不起作用。
关于如何做到这一点的任何想法?
谢谢。
【问题讨论】:
【参考方案1】:试试这个
textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
【讨论】:
太棒了!这很好用,谢谢。之后我要做的就是 textArea.setFocus()【参考方案2】:对于寻找 Spark 组件方式来执行此操作的人,Flex 4.5,请使用 selectRange(anchorIndex, activeIndex)
【讨论】:
【参考方案3】:要将插入符号设置在 textArea 中的任何位置,您需要做的就是
textArea.setSelection(beginIndex, endIndex);
如果您将 beginIndex 和 endIndex 设置为相同的值(在您的情况下为 textArea.text.length),插入符号将放置在该位置。如果将其设置为不同的值,则该范围内的文本将突出显示。
【讨论】:
【参考方案4】:相信你可以直接用
设置textarea的滚动条verticalScrollPosition : Number
textArea.verticalScrollPosition(i);
【讨论】:
【参考方案5】:@Paul Stewart verticalScrollPosition 是属性而不是方法,因此您必须像使用字段一样使用它,例如:
var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;
与 selectionBeginIndex/selectionEndIndex 相比,使用它的优势在于您不必设置焦点。
【讨论】:
【参考方案6】:在TextArea添加文本后只需添加以下代码:
textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
【讨论】:
以上是关于您如何以编程方式将 Flex TextArea 的插入符号移到末尾?的主要内容,如果未能解决你的问题,请参考以下文章
Flex:如何将 S:list 中的 Sqlist 查询绑定到 S:Textarea