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

286
Vistas
El evento keydown de Vue no se dispara en div

Como dice el título, no puedo hacer que mi evento se active.

 @keydown="keyPressed($event)"

Así es como se ve actualmente, pero lo probé con tabIndex y lo agregué en el montaje de esta manera:

 mounted(){ let container=document.querySelector('#course') container.addEventListener('keydown',(e)=>{ console.log(e) }) }

Modelo

 <div id="course" tabindex="0" @keydown="keyPressed($event)"> <div class="snake"></div> </div>

Por lo tanto, nada funciona. ¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que en vue, una mejor práctica sería seleccionar el elemento usando ref en lugar de querySelector especialmente si se puede hacer referencia a él en el mismo componente.

Además, el uso @keydown simplemente adjunta un detector de eventos keydown al elemento, por lo que no es necesario agregar addEventListener .

Ejemplo de trabajo en vue

 <script setup> import { onMounted } from 'vue'; const courseDiv = $ref(null); const keyPressed = (e) => { console.log(e); } </script> <template> <div ref="courseDiv" id="course" tabindex="0" @keydown="keyPressed($event)"> <div class="snake">snek</div> </div> </template>
about 4 years ago · Juan Pablo Isaza Denunciar
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