Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

194
Vistas
No se pueden capturar teclas especiales para el teclado virtual, usando la manipulación DOM

Estoy creando un teclado virtual que acepta sonido y un color de fondo cuando se presiona una tecla específica en el teclado. Hasta ahora todo bien, implementé el sonido y el efecto de fondo CSS visual en cada tecla, pero solo las teclas de letras, las teclas especiales solo aceptan sonido sin el color de fondo que es clase CSS .is-pressed.

Pequeño ejemplo: capturo las teclas de letras con diferentes clases que son iguales al EventListener que escucha la tecla específica presionada.

 <div class="keyboard__row"> <kbd class="keyboard__key keyboard__key--size2">Tab</kbd> <kbd class="q keyboard__key">Q</kbd> <kbd class="w keyboard__key">W</kbd> <kbd class="e keyboard__key">E</kbd> <kbd class="r keyboard__key">R</kbd> <kbd class="t keyboard__key">T</kbd> <kbd class="y keyboard__key">Y</kbd> <kbd class="u keyboard__key">U</kbd> <kbd class="i keyboard__key">I</kbd> <kbd class="o keyboard__key">O</kbd> <kbd class="p keyboard__key">P</kbd> <kbd class=" keyboard__key">{</kbd> <kbd class=" keyboard__key">}</kbd> <kbd class="keyboard__key keyboard__key--size3">\</kbd> /** * Function that listen for pressed keys and creating visual * effect at the current pressed key. */ document.addEventListener("keypress", function(event) { keySound(event.key); keyAnimation(event.key); }); /** * Adding the audio file to the specific pressed key. */ function keySound(key) { let audio = new Audio("assets/sounds/key-sound.mp3"); audio.play(); } /** * Selecting by class name of each key, and do background effect with timeout. */ function keyAnimation(currentKey) { let activeKey = document.querySelector("." + currentKey); activeKey.classList.add("is-pressed"); setTimeout(function () { activeKey.classList.remove("is-pressed"); }, 100); }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda