vertical tab ejemplos disable bootstrap active javascript jquery tabs shift

javascript - disable - tabs jquery ejemplos



JavaScript no puede capturar la combinaciĆ³n "SHIFT+TAB" (3)

Por la razón que sea, no puedo capturar la combinación "SHIFT + TAB". Estoy usando la última jQuery.

Mismo resultado si uso otros ajax / javascript, etc.

Aquí hay un ejemplo simple que debería funcionar como lo entiendo actualmente ...

event.which o event.KeyCode son siempre "indefinidos", solo shiftKey existe en un escenario que involucra un "MAYÚS + TAB" o un desplazamiento del teclado hacia atrás, tradicionalmente inherente a las aplicaciones / web basadas en Windows o de otro modo ...

function ShiftTab() { debugger; if(event.KeyCode == 9 && event.shiftKey) // neither this line nor the following work // if (event.which == 9 && event.shiftKey) // shift + tab, traverse backwards, using keyboard { return true; } else { return false; } }

Este parece ser otro elemento relacionado con el orden de pestañas que ya no funciona como tradicionalmente funcionaba en las aplicaciones basadas en Microsoft.Net WinForm / WebForm.


Creé una función que conecté al evento onkeydown de mi botón. Utilicé onkeydown, porque onkeypress no capturaría mi tecla de tabulación presionando

function ShiftTab(evt) { var e = event || evt; // for trans-browser compatibility var charCode = e.which || e.keyCode; // for trans-browser compatibility if (charCode === 9) { if (e.shiftKey) { $(''#controlName'').focus(); return false; } else { return true; } }

Tomé este enfoque para hacer frente a dos problemas específicos:

  1. onkeypress no capturaría la tecla de tabulación presionando
  2. Cuando haga clic en la pestaña Mayús, la tecla Mayús presionará la función, por lo que anidé la verificación del modificador de la tecla Mayús

Si está utilizando jQuery, debería ser así como funciona el código. Asegúrese de que keyCode esté en minúscula. Además, jQuery normaliza keyCode en el which :

$(document).keyup(function (e) { if (e.which === 9 && e.shiftKey) { ShiftTab(); } });

Si estás en terse JavaScript:

$(document).keyup(function (e) { e.which === 9 && e.shiftKey && ShiftTab(); });

jQuery 1.7+ on sintaxis:

$(document).on(''keyup'', function (e) { e.which === 9 && e.shiftKey && ShiftTab(); });


Usa el mismo código dentro del evento de pulsación de tecla. La pestaña cambia el elemento entre la pulsación de tecla y la pulsación de tecla. Aquí obtenemos event.key = tab y event.shiftKey = true.