Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

195
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda