2008-12-27 17 views
5

Los navegadores web son buenos clientes ligeros para aplicaciones web.Comportamiento de la tecla Tab en el control de edición del navegador

Pero si el usuario tiene que ingresar algún código (donde las pestañas y el formato son importantes) en un cuadro de edición, dentro de un navegador web navega por los controles de página cada vez que presiona la tecla "tab", en lugar de imprimir el caracter "tab"

¿Hay controles web gratuitos o hay algún código para obtener el comportamiento opuesto?
Google Docs hace esto perfectamente.

Gracias.

Respuesta

3

La biblioteca Yahoo UI tiene un rich text editor que maneja los caracteres de pestañas correctamente.

EDITAR: Sospecho (porque no he mirado) que tanto el editor de Yui y editor de Google logran esto mediante la adición de un controlador onKeyPress al contenedor de texto. Cuando detectan un carácter de tabulación añaden una pestaña al contenedor y devuelven falso para cancelar la acción de tabulación normal.

2

Puedes realizar un filtrado del evento keyDown y coger la tecla de tabulación:

<html> 
<body> 
<script type="text/javascript"> 
function keyFilter(e, field) { 
    var key = window.event ? e.keyCode : e.which; 
    if (key == 9) { 
    field.value += "\t"; 
    return false; 
    } 
    return true; 
} 
</script> 

<form> 
<textarea onkeydown="return keyFilter(event, this);"></textarea> 
</form> 
</html> 

EDIT: Tenga en cuenta que es por supuesto más complicado que esto. Es necesario hacer un seguimiento de en qué parte del texto se presiona la tecla de tabulación e insertar el carácter en consecuencia.

+0

En mi Macintosh en Firefox, debe marcar e.keyCode para un carácter de tabulación como e.which no configurado. – tvanfosson

+0

¿Alguien sabe cómo hacerlo (obtener el código clave) correctamente? – PEZ

+0

Ummm ... En mi Mac en Firefox funciona el código anterior. Y también funciona en Safari. – PEZ

Cuestiones relacionadas