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

143
Visualizações
Escuchar eventos de pulsación de tecla / pulsación de tecla y diferenciar entre números de uno y dos dígitos

Estoy usando un eventListener para detectar opciones numéricas en mi aplicación vue:

 window.addEventListener("keydown", function (e) { switch (e.key) { case 1: // do stuff break; case 2: // do other stuff } }

Como tengo más de 9 opciones, me preguntaba cuál sería la forma más sensata de diferenciar si el usuario está ingresando un número de uno o dos dígitos (por ejemplo, 1 contra 11 ).

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Terminé adaptando la solución descrita en esta publicación de blog , presionando todas las pulsaciones de teclas en una matriz, que se borra si no hay entrada después de 1 segundo.

 let keys = []; let timeout = null; window.addEventListener("keydown", function (e) { keys.push(e.key); clearTimeout(timeout); timeout = setTimeout(function () { let input = parseInt(keys.join("")); switch (input) { case 1: // do stuff break; case 11: // do other stuff } keys = []; }, 1000); });
about 4 years ago · Juan Pablo Isaza Relatório

0

La declaración de cambio está haciendo una conversión de tipo implícita ya que e.key es una cadena y los especificadores de caso de cambio son números. Si no tiene más de 35 opciones, el uso de 36 dígitos de base ('1'-'9' y 'a'-'z') podría ser la solución más fácil, junto con la construcción de la declaración de cambio a lo largo de las líneas de

 switch( e.key.toLowerCase() { case '1': ... break; . . . case 'z': ... break; }

Dudaría antes de decirles a los usuarios que deben presionar un segundo dígito dentro de los 500 ms y esperar ese tiempo antes de que se reconozca la primera tecla que presionaron. :-)

about 4 years ago · Juan Pablo Isaza 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