Escribir tabulación en un campo de texto

Publicado por Iván Gajate el 18 de marzo de 2010 en AS3, Eventos, Flash, Tutoriales

Si queremos insertar tabulaciones en un campo de texto o componente textArea de Flash, por defecto nos pasará el foco al siguiente campo de texto o botón.

Para evitar esto me ha dado la solución Ícaro Obregón en la lista de AsNativos, utilizando el método preventDefault() y luego haciendo un apaño para situar el cursor al final del texto, pues si no parecerá que no ha ocurrido nada.

miCampoTexto.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, onTabPressed);

function onTabPressed(e:FocusEvent):void {
	e.preventDefault();
	var tf:TextField = e.target as TextField;
	var index:uint = tf.selectionEndIndex;
	tf.replaceText(index, index, "\t");
	tf.setSelection(index+1, index+1);
}

 

17 comentarios para “Escribir tabulación en un campo de texto”

  1. Muy bueno el truquito para poner el cursor al final del texto, me ha venido de perlas!