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

168
Visualizações
¿Por qué el detector de eventos no funciona con la clase?

Quiero agregar un detector de eventos a mi clase de entrada para realizar alguna validación.

Así que aquí está mi código:

 <!DOCTYPE html> <html> <body> <input type="text" class="inputs form-control" id="input" tabindex="9" maxlength="2"> <script> var elements = document.getElementsByClassName("inputs"); input.addEventListener('keyup', (event) => { let regEx = /^[0-9a-fA-F]+$/; let isHex = regEx.test(event.target.value.toString()); if(!isHex) { elements.value = elements.value.slice(0, -1); } }) </script> </body> </html>

Entonces, si hago eso con id, el código funciona perfectamente pero no funciona con la clase. Entonces, ¿sabes por qué?

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

0

getElementsByClassName devuelve unaHTMLCollection . Debe agregar el detector de eventos al primer elemento en él.

 <!DOCTYPE html> <html> <body> <input type="text" class="inputs form-control" id="input" tabindex="9" maxlength="2"> <script> var elements = document.getElementsByClassName("inputs")[0]; elements.addEventListener('keyup', (event) => { let regEx = /^[0-9a-fA-F]+$/; let isHex = regEx.test(event.target.value.toString()); if(!isHex) { elements.value = elements.value.slice(0, -1); } }) </script> </body> </html>

Si desea agregar el detector de eventos a cada elemento, recorra HTMLCollection:

 <!DOCTYPE html> <html> <body> <input type="text" class="inputs form-control" id="input" tabindex="9" maxlength="2"> <script> var elements = [...document.getElementsByClassName("inputs")]; elements.forEach(e => e.addEventListener('keyup', (event) => { let regEx = /^[0-9a-fA-F]+$/; let isHex = regEx.test(event.target.value.toString()); if(!isHex) { elements.value = elements.value.slice(0, -1); } })) </script> </body> </html>

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