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

178
Visualizações
pasar el evento y el elemento al controlador a través del detector de eventos

Quiero adjuntar un detector de eventos de pulsación de tecla a cada uno de los elementos de words dom y pasar el elemento en sí (me refiero a word ) al eventHandler , ¿de acuerdo?

Así que probé esto pero parece que pierdo el evento en sí:

 const eventHandler = (e, word) => { console.log('keypressed', String.fromCharCode(e.which), word); } words.forEach((word) => { window.addEventListener("keypress", eventHandler.bind(event, word)); });

String.fromCharCode(e.which) debería traer la tecla presionada en el teclado, ¡pero no devuelve nada!

¿Cómo puedo arreglar esto?

Editar:

Aquí está la reproducción más simple del problema: presione cualquier tecla en el teclado y vea que el evento no está definido:

 const eventHandler = (event, word) => { console.log('keypressed', event, word); } window.addEventListener("keypress", eventHandler.bind(this, event, 'word'));

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El evento se pasa implícitamente y será el último parámetro después de todos los parámetros vinculados.

Entonces usaría eventHandler.bind(null, word) y luego el controlador debería declararse eventHandler(word, e) {...}

 const button = document.getElementById('b'); function handler(bound_arg, event){ console.log(event.target); console.log(bound_arg); } button.addEventListener('click', handler.bind(null,'bound'));
 <button type='button' id='b'>Bound</button>

Pero esto no es muy intuitivo, y dado que bind() crea una nueva función de todos modos, podría simplemente usar una función anónima para pasar la palabra.

 window.addEventListener("keypress", (e) => eventHandler(e, word));
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