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

469
Views
¿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).

about 4 years ago · Santiago Trujillo
1 answers
Answer question

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.

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