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

197
Views
¿Por qué el evento de clic de JavaScript no funciona?

Recibí este enlace de un amigo mío para probar mi tiempo de reacción. https://www.arealme.com/reaction-test/es/

Este es un juego en el que aparecerá un círculo rojo y después de un tiempo aleatorio se volverá verde. Necesito hacer clic tan pronto como se ponga verde. Ese es mi tiempo de reacción.

Con reaccion real, mi mejor puntaje es 178, por si no creen he adjuntado ss ingrese la descripción de la imagen aquí

Sé que puedo editar este 178 a cualquier número que desee. Pero quería crear un script que generara el evento de clic tan pronto como apareciera el círculo verde.

He planeado llamar a la siguiente función con setInterval

 const clickCircle = (className)=> { let greenCircles = document.getElementsByClassName(className); if(greenCircles && greenCircles.length){ greenCircles[0].click(); }else{ console.log("No circles found with name ", className) } } clickCircle("tfny-circleGreen");

El nombre de la clase que contiene el círculo verde es tfny-circleGreen. Entonces, llamar a clickCircle ("tfny-circleGreen") debería generar un evento de clic. Pero no lo es.

¿Qué me estoy perdiendo?

Tal vez hayan anulado la función de clic. Si ese es el caso, ¿cómo lo restauro?

Por favor, no preguntes por qué quiero esto, es solo que quería probarlo de esta manera por diversión.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

 function triggerMouseEvent (node, eventType) { var clickEvent = document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } const clickCircle = (className)=> { let greenCircles = document.getElementsByClassName(className); if(greenCircles && greenCircles.length){ triggerMouseEvent (greenCircles[0], "mouseover"); triggerMouseEvent (greenCircles[0], "mousedown"); triggerMouseEvent (greenCircles[0], "mouseup"); triggerMouseEvent(greenCircles[0], "click"); }else{ console.log("No circles found with name ", className) } } setInterval(()=> { clickCircle("tfny-circleGreen"); }, 10)

Este es el código completo que funciona :D

La función click() no funcionaba, así que tuve que simularla.

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!