Kui kasutate teksti sees , on kõik elemendid DOM-is, täpselt nagu
s ja s ning kõik muud HTML-elemendid.
Kui teil on SVG nagu:
ja sa teed:
var rect = document.getElementById("foo");
saate viite sellele .
Ja mitte ainult, saate lisada sündmuste kuulajaid, kes töötavad täpselt nii, nagu ootate. Ja saate kohandada atribuute ja kõike muud, mida võiksite JavaScripti abil teha.
Vähemalt üks vits on siiski olemas, see on mind kätte saanud. Me kinnitame sündmuste kuulajad sageli linkide, progressiivse täiustamise stiili juurde. Mitte-triviaalses JavaScripti arhitektuuris edastavad need sündmuste kuulajad tõenäoliselt sündmuse teistele funktsioonidega tegelevatele funktsioonidele. this
Nendes olukordades märksõnale lootmine muutub keeruliseks ja seda ei soovitata sageli. Selle asemel, et teil on event
, saate seda kasutada event.target
. See võib olla sama keeruline, sest SVG-ga võib sihtmärk olla link, SVG-element ise või mõni SVG-kuju üldse.
Lahendus on liikuda DOM-ist ülespoole oodatud kohta. Või proovige olukorda üldse vältida:
svg ( pointer-events: none; )
Mida ma soovitaksin, kui te ei kavatse kasutada SVG-s mingit interaktiivsust.