6

コードからテキストを追加した後、Flex TextArea のキャレットを最後に移動しようとしています。TextArea とその基礎となる TextField のリファレンス ドキュメントを調べましたが、これを処理するためのメソッドが提供されていないようです。

私が試した 1 つの方法は、フォーカスをテキスト領域に設定し、イベントのキー コードを「End」キーに設定して 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

テキストエリアのスクロールバーを直接設定できると思います

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 に答える