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

552
Vistas
¿Cómo pasar la variable clave a la función eventListener definida en otro lugar?

Normalmente, cuando agrega eventlisteners, haría lo siguiente:

 input.addEventListener('keyup', function(e){// get e.keyCode here});

Pero, ¿qué sucede si definí una función en otro lugar y solo quiero pasar la función como una variable? Se vería algo como esto:

 input.addEventListener('keyup', func);

¿Cómo paso la e como argumento aquí (o cualquier otro argumento en general)? Gracias.

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

0

Simplemente declare un parámetro para la función. La sintaxis es la misma para las funciones con nombre que para las expresiones de funciones anónimas.

 document.querySelector('input').addEventListener('keyup', func); function func(e /* event object */ ){ console.log(e.keyCode); }
 Type something here: <input>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use una función con nombre que pase e . e es el objeto de evento que todos los controladores de eventos pasan por defecto. Un controlador de eventos es la función a la que se llama cuando se activa un evento registrado. Un evento se registra cuando es el primer parámetro de un detector de eventos:

 .addEventListener('keyup', eventHandler)

O una propiedad de un solo evento

 .onkeyup = eventHandler;

O un atributo en línea (no use este, no es bueno )

 <input onkeyup='eventHandler(e)'>

En el siguiente ejemplo, A es una función anónima y B es lo mismo que A pero tiene una función con nombre como controlador de eventos.

 const inputA = document.querySelector('.A'); const inputB = document.querySelector('.B'); // Anonymous event handler inputA.addEventListener('keyup', function(e){ console.log(e.key); }); // Named event handler inputB.addEventListener('keyup', keyHandler); function keyHandler(e) { console.log(e.key); }
 <label>A: <input class='A'></label><br> <label>B: <input class='B'></label>

about 4 years ago · Juan Pablo Isaza Denunciar

0

No necesita pasarlo explícitamente

 function func(e) { console.log(e.target.value) } document.getElementById('input').addEventListener('keyup', func)
 <input id='input'>

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