2009-02-02 49 views
5

我試圖從我的代碼中追加一些文本後,將Flex TextArea中的插入符號移動到最後。我已經瀏覽了TextArea及其底層TextField的參考文檔,但似乎沒有提供處理此方法的方法。如何以編程方式將Flex TextArea的插入符號移至最後?

我嘗試過的一種方法是將焦點設置到文本區域並使用設置爲「結束」鍵的事件密鑰代碼調度KeyUp KeyboardEvent,但這不起作用。

有關如何做到這一點的任何想法?

謝謝。

回答

8

試試這個

textArea.selectionBeginIndex = textArea.length; 
textArea.selectionEndIndex = textArea.length; 
+0

太好了!這很好,謝謝。在此之後我必須做的是textArea.setFocus() – Akinwale 2009-02-02 10:58:29

0

我相信你可以直接設置文本區域的滾動條與

verticalScrollPosition : Number 
textArea.verticalScrollPosition(i); 
2

要在textarea的所有的u需要做的任何位置設置插入符

textArea.setSelection(beginIndex,endIndex);

如果您將beginIndex & endIndex設置爲相同的值(在您的案例textArea.text.length中),則脫字符將放置在該位置。如果您將其設置爲不同的值,那麼該範圍內的文本將被突出顯示。

0

@保羅·斯圖爾特verticalScrollPosition的是屬性不是方法,所以你必須使用它類似於一個領域,如:

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

使用它在selectionBeginIndex的優點/ selectionEndIndex有你沒有設置一個foucus。

4

對於人們尋找Spark組件的方式來做到這一點,Flex 4.5中,使用selectRange(anchorIndex, activeIndex)

0

簡單地增加一個文本將TextArea後添加以下代碼:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition; 
相關問題