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

472
Vistas
¿Hay alguna forma de hacer clic en un punto/elemento específico en un lienzo (con javascript, jquery o selenium)?

¿Cómo puedo aplicar un clic en una posición específica en un lienzo? (usar coordenadas me parece lo más lógico, pero no encuentro la forma de hacerlo, cualquier otra idea es bienvenida). Tenga en cuenta que no tengo acceso al código que crea el lienzo.

EDITAR: alguna aclaración, el lienzo tiene varios elementos que se están dibujando que no puedo seleccionar con jquery pero necesito hacer clic en ellos. Podría encontrar sus coordenadas manualmente y hacer algunos cálculos, pero cada vez que intento pasar un evento de clic o mouse a esa posición no se toma como un clic de mouse real (el botón en el que se debe hacer clic no lo es).

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

¿Qué tal si lo intentas?

 canvas.on('click', function(e) { // calculate xy coordinates on canvas var x = e.pageX - $(this).offset().left, y = e.pageY - $(this).offset().top; // implement collision detection via the coordinates the element you want to click (assuming you know where it is) if (y > <elementY> && y < <elementY> + <elementHeight> && x > <elementX> && x < <elementX> + <elementWidth>) { alert('found it'); } });

No tengo tiempo para probar ese fragmento. Si conoce las coordenadas x e y de sus elementos dentro de su lienzo, ese código podría funcionar.

Lo que traté de hacer con ese fragmento es simular un cuadro delimitador a través de elmentY y elementY + elementHeight , así como elementX y elementX + elementWidth . Si conoce todos esos valores, simplemente puede verificar si los valores x e y de su evento de clic se encuentran en dicho cuadro.

Editar

Si desea activar un evento de clic en una determinada posición, defina el evento de clic de antemano y configure los atributos pageX y pageY.

 var e = new jQuery.Event("click"); e.pageX = 10; e.pageY = 10; $(<canvas>).trigger(e);

Es posible que también deba incluir el desplazamiento de su lienzo en los cálculos.

over 4 years ago · Santiago Trujillo 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