2009-02-02 11 views
5

Estoy tratando de mover el cursor en un área de texto flexible hasta el final después de agregar texto de mi código. He revisado la documentación de referencia de TextArea y su TextField subyacente, pero parece que no hay ningún método proporcionado para manejar esto.¿Cómo mueves programáticamente el cursor de un Flex Text Area hasta el final?

Un enfoque que he intentado es establecer el foco en el área de texto y despachar un KeyUp KeyboardEvent con el código de clave del evento establecido en la tecla "Finalizar", pero esto no funciona.

¿Alguna idea sobre cómo hacer esto?

Gracias.

Respuesta

8

probar este

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

Gran! Esto funciona perfectamente, gracias. Todo lo que tengo que hacer después de esto es textArea.setFocus() – Akinwale

0

Creo que se puede establecer directamente la barra de desplazamiento del área de texto con

verticalScrollPosition : Number 
textArea.verticalScrollPosition(i); 
2

Para establecer el cursor en cualquier posición en toda u necesidad de hacer un área de texto se

textArea.setSelection (beginIndex, endIndex);

si configura el beginIndex & endIndex con el mismo valor (en su caso textArea.text.length) el cursor se colocará en esa posición. Si lo configura en diferentes valores, el texto en ese rango se resaltará.

0

@ Pablo Stewart verticalScrollPosition es una propiedad no es un método por lo que tiene que usarlo similar a un campo, como:

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

La ventaja de usarla por un selectionBeginIndex/selectionEndIndex está ahí no tiene para establecer un foucus.

4

Para las personas que buscan la forma de componentes de chispa para hacer esto, Flex 4.5, utilice selectRange(anchorIndex, activeIndex)

0

Basta con añadir el siguiente código después de añadir un texto a la TextArea:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition; 
Cuestiones relacionadas