Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!