2011-05-03 31 views
9

Hola chicos .. Cómo bloquear o deshabilitar una y otra vez la tecla de tabulación con javascript¿Bloquear la tecla de tabulación con javascript?

+0

En qué propósito lo que necesita hacer esto? –

+0

¿Qué quiere decir con * bloquear/desactivar una tecla de tabulación *? ¿Quiere decir cómo evitar que la tecla ** TAB ** transfiera el foco al siguiente elemento enfocable? –

+1

Las respuestas a continuación son buenas, pero déjame advertirte, la mayoría de los usuarios no querrán que evites que usen su pestaña. En mi caso, si no fuera por un juego, me iría del sitio lo antes posible. –

Respuesta

25
$(document).keydown(function(objEvent) { 
    if (objEvent.keyCode == 9) { //tab pressed 
     objEvent.preventDefault(); // stops its action 
    } 
}) 
+0

eso es tan trabajo ¿Y abierto de nuevo? y puedo usar cualquier selector en lugar de $ (documento) – PsyGnosis

+0

@psygnosis, respuesta corta: * sí * :-) – Neal

+1

Última pregunta iPhone safari browser tiene el botón siguiente y anterior .. como la tecla de la pestaña de trabajos ... Pero estos códigos no funcionan en el siguiente botón de iphone ... ¿Cómo puedo hacer eso? – PsyGnosis

12

Usted puede hacerlo de esta manera:

$(":input, a").attr("tabindex", "-1"); 

que desactiva conseguir foco con pestaña en todos los enlaces y elementos de forma.

Esperanza esto ayuda

+0

hey Esto está funcionando, pero ¿Cómo volver a abrir? – PsyGnosis

+0

@psygnosis $ (": input, a"). RemoveAttr ("tabindex"); –

0

En respuesta Neal, sólo añadiría:

if (objEvent.keyCode == 9) { //tab pressed 
    return; 
} 

Porque cuando termine de escribir la ACB y presione la tecla TAB, se cuenta como un personaje y cambios a la máscara CNPJ.

Código completo:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#cpfcnpj").keydown(function(objEvent){ 
     if (objEvent.keyCode == 9) { //tab pressed 
      return; 
     } 
     try { 
      $("#cpfcnpj").unmask(); 
     } catch (e) {} 

     var size= $("#cpfcnpj").val().length; 

     if(size < 11){ 
      $("#cpfcnpj").mask("999.999.999-99"); 
     } else { 
      $("#cpfcnpj").mask("99.999.999/9999-99"); 
     }     
    }); 
}); 
</script> 
+0

Escriba su respuesta en inglés.Stack Overflow es un sitio solo en inglés, y todas las preguntas y respuestas deben estar en inglés. –

+0

Traducido al inglés. – Nighto

Cuestiones relacionadas