Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

177
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!