• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

225
Vistas
JS keydown + keypress + preventDefault

Que tenemos:

  1. keydown event + preventDefault evita el evento de keypress de tecla (prueba: https://stackoverflow.com/a/57401334/9398364 )
  2. stopPropagation no ayuda en absoluto
  3. No podemos simular la pulsación de tecla con dispatchEvent porque no conocemos la lista completa de valores event.key no imprimibles (que no podemos simplemente lanzar como valor Unicode usando event.key.codePointAt(0) )

Lo que necesitamos:

  1. Deshabilite la reacción predeterminada de las teclas del navegador (es decir, presione la tab en Chrome) sin una gran expresión de cambio

  2. Detectar eventos keydown porque necesitamos shift , ctrl y otros eventos de teclas ( event.code importa)

  3. Detectar eventos de keypress de tecla porque necesitamos ingresar caracteres Unicode ( event.key importa) sin evento input y sin verificar si es un carácter no imprimible (como shift y ctrl )

¿Cómo?

UPD: parece que event.key no Unicode tiene una longitud de> 1 (fuente: https://stackoverflow.com/a/70401792/9398364 ) ¿Hay alguna prueba?

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Resuelto así:

 window.addEventListener('keydown', function (event) { onKeyboard(event.code); if (event.key.length === 1 && !event.ctrlKey && !event.metaKey) { const utf16Code = event.key.codePointAt(0); onKeyboardInput(utf16Code); } event.preventDefault(); }, false);
almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda