Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

561
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda