Me gustaría poder usar la Tabclave dentro de un cuadro de texto para tabular en cuatro espacios. Como está ahora, la tecla Tab salta mi cursor a la siguiente entrada.
¿Hay algún JavaScript que capture la tecla Tab en el cuadro de texto antes de que aparezca en la interfaz de usuario?
Entiendo que algunos navegadores (es decir, FireFox) pueden no permitir esto. ¿Qué tal un combo de teclas personalizado como Shift+ Tabo Ctrl+ Q?
javascript
user-interface
Seibar
fuente
fuente
Respuestas:
Incluso si captura el evento
keydown
/keyup
, esos son los únicos eventos que dispara la tecla de tabulación, todavía necesita alguna forma de evitar que ocurra la acción predeterminada, pasar al siguiente elemento en el orden de tabulación.En Firefox, puede llamar al
preventDefault()
método en el objeto de evento pasado a su controlador de eventos. En IE, debe devolver falso desde el identificador del evento. La biblioteca JQuery proporciona unpreventDefault
método en su objeto de evento que funciona en IE y FF.fuente
keycode
8
?Prefiero que la sangría de tabulación no funcione que romper tabulación entre elementos de formulario.
Si desea aplicar sangría para poner código en el cuadro Markdown, use Ctrl+ K(o ⌘K en una Mac).
En términos de detener realmente la acción, jQuery (que usa Stack Overflow) evitará que un evento burbujee cuando devuelva falso de una devolución de llamada de evento. Esto hace la vida más fácil para trabajar con varios navegadores.
fuente
La respuesta anterior está bien, pero soy uno de esos tipos que está firmemente en contra de mezclar el comportamiento con la presentación (poner JavaScript en mi HTML), así que prefiero poner mi lógica de manejo de eventos en mis archivos JavaScript. Además, no todos los navegadores implementan event (oe) de la misma manera. Es posible que desee hacer una verificación antes de ejecutar cualquier lógica:
fuente
Aconsejaría no cambiar el comportamiento predeterminado de una clave. Hago todo lo que puedo sin tocar el mouse, por lo que si haces que mi tecla de tabulación no se mueva al siguiente campo en un formulario, me agravaré mucho.
Sin embargo, una tecla de método abreviado podría ser útil, especialmente con bloques de código grandes y anidados. Shift-TAB es una mala opción porque normalmente me lleva al campo anterior en un formulario. ¿Quizás sería posible un nuevo botón en el editor de WMD para insertar un código-TAB, con una tecla de método abreviado?
fuente
hay un problema en la mejor respuesta dada por ScottKoon
aquí es
Debiera ser
Debido a esto, no funcionó en IE. Esperando que ScottKoon actualice el código
fuente
En Chrome en Mac, alt-tab inserta un carácter de tabulación en un
<textarea>
campo.Aquí hay uno: . ¡Pequeñito!
fuente