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

217
Visualizações
Pregunta básica de JS, función de flecha con una devolución de llamada usando parámetros en addEventListener

Tengo una función básica aquí. Quiero poder pasarle parámetros. Sin embargo, está siendo llamado por addEventListener . Ahora, después de leer aquí e investigar, conseguí que funcionara, de modo que si pongo la opción TOP, funciona. Cuando uso la opción inferior, justo debajo de ella, no funciona. (No si quiero usar parámetros). Solo me pregunto una explicación básica de por qué la función de flecha con una devolución de llamada puede tomar parámetros, ¿cómo va esto exactamente? No estoy seguro de estar explicando bien mi pregunta.

 for (i = 0; i < dots.length; i++) { dots[i].addEventListener('click', (e) => imgChoose(e, i)); } for (i = 0; i < dots.length; i++) { dots[i].addEventListener('click', imgChoose); } var i = 0; function imgChoose(e, i) { var test = dots[i].className; console.log(e); }
about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

No tiene nada que ver específicamente con las funciones de flecha, también puede usar funciones normales. Lo que importa es que cuando addEventListener llame a su función, pasará exactamente un parámetro: el evento. Si desea llamar a una función con dos parámetros, puede hacerlo, pero debe escribir ese código usted mismo.

Así es como se vería con una función regular:

 dots[i].addEventListener('click', function (e) { imgChoose(e, i) });

PD: como está escrito, tiene una sola variable i que se usa para todas las devoluciones de llamada de clic. Entonces, todos usarán el valor final de i , que será igual a dots.length . Debe crear i en la inicialización de su bucle y asegurarse de usar let , no var .

 for (let i = 0; i < dots.length; i++) {
about 4 years ago · Santiago Gelvez 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