Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

397
Visualizações
jQuery: clave para la tecla TAB?

Por lo tanto, tengo algunos problemas para ejecutar mi secuencia de comandos SI se presiona la tecla Tabulador. Después de buscar en Google rápidamente, el código de caracteres para la pestaña es 9. Además, mientras hablamos, ¿hay alguna forma mejor de verificar si se presiona una tecla sin usar códigos de caracteres? Lo pregunto porque sigo recibiendo la siguiente advertencia de Firebug cuando uso el código de caracteres:

No se debe utilizar la propiedad 'charCode' de un evento keyup. El valor no tiene sentido.

De todos modos, todavía funciona, así que ese no es el problema. Este es el código que uso:

 $('/* my inputs */').keyup(function(e) { console.log('keyup called'); var code = e.keyCode || e.which; if (code == '9') { console.log('Tab pressed'); } });

Usando el código anterior, la consola se deja en blanco, no se agrega nada (usando Firebug). Por supuesto, he intentado hacer cosas en lugar de registrar texto, pero nada se ejecuta. Entonces, ¿alguien puede ver por qué esto no funciona? ¿Hay una mejor manera de verificar si se presiona una tecla?

Gracias por adelantado.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Mi corazonada es que cuando presiona la tecla de tabulación, la entrada de su formulario pierde el foco, antes de que ocurra la tecla. Intenta cambiar el enlace al cuerpo, así:

 $('body').keyup(function(e) { console.log('keyup called'); var code = e.keyCode || e.which; if (code == '9') { alert('Tab pressed'); } });

Luego, si eso funciona (lo hace para mí), intente cambiar el enlace a keyDown, en su lugar, y devuelva falso. De esa manera, puede implementar su propio comportamiento personalizado.

 $('.yourSelector').keydown(function(e) { console.log('keyup called'); var code = e.keyCode || e.which; if (code == '9') { alert('Tab pressed'); return false; } });

Uno de estos dos debería funcionar... si es el cuerpo, puede adjuntar un controlador de teclas en el cuerpo, luego, si es una pestaña, busque el campo con foco (¿creo que hay una función .hasFocus()?), y si es el que usted querer, proceder y devolver falso. De lo contrario, deja que el navegador haga lo suyo.

Si desea actualizar el campo CON un carácter de tabulación, intente esto en su devolución de llamada:

 var theVal = $(this).val(); theVal = theVal + ' '; $(this).val(theVal);

No lo he probado, pero debería funcionar. También puede agregar 3 o 4 espacios en lugar del carácter de tabulación, si le causa problemas.

over 4 years ago · Santiago Trujillo Relatório

0

e = e || window.event; if(e.keyCode == 9) alert("Tab pressed");

Prueba esto

over 4 years ago · Santiago Trujillo Relatório

0

si no sucede nada sin importar qué tecla presione, ¿quizás haya algún problema con el selector que está usando? ¿Puede verificar que está seleccionando correctamente, tal vez con algo como:

 console.log($('/* my inputs */').length);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda