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

263
Views
Función Javascript elemento SVG no definido al hacer clic

Tengo un svg con, digamos, solo un elemento rect que tiene una llamada de función javascript en línea al hacer clic. He incrustado svg en mi html (basado en electrones) usando la etiqueta de objeto. El problema es que si escribo javascript fuera de svg, que debe llamarse al hacer clic en el elemento rect en svg, no encuentra la función definida, sino que arroja un error que dice que la función no está definida. Pero si pego el mismo script dentro de la etiqueta svg, funciona bien.

¿Por qué no se puede encontrar el script escrito fuera del alcance de svg?

html

 <object class="svg" id="show-sld" data="sld_old.svg" type="image/svg+xml"> </object>

svg con llamada de función javascript en línea

 <svg> <rect style="opacity:1;fill:#000000;fill-opacity:0;" id="some-id" onclick="openDialog()"/> </svg>

javascript

 function openDialog(){ #do something }

Funciona bien si pego el script anterior dentro de svg, pero eso no es lo que estoy buscando. Necesito traer javascript fuera de la etiqueta svg. ¿Cómo lograr esto?

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

0

Estoy escribiendo la declaración del problema y la respuesta en función de los comentarios.

svg busca la función dentro de su propio ámbito. Para hacer que svg mire a través de todo el dominio, simplemente agregue top.functionCall() donde top es la ventana superior en la jerarquía de ventanas

La solucion es

 <svg> <rect id="some-id" onclick="top.openDialog()"/> </svg>
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!