Vorrei creare una pagina web che visualizza uno svg interattivo: poiché possono essere usati diversi svg, i vari oggetti visualizzati avranno ID diversi, quindi i listener di eventi (per catturare un clic del mouse, per esempio) devono essere dinamici.Come aggiungere i listener di eventi agli oggetti in un file SVG?
A partire da this snippet
var a = document.getElementById("alphasvg");
a.addEventListener("load",function(){
var svgDoc = a.contentDocument;
var delta = svgDoc.getElementById("delta");
delta.addEventListener("click",function(){alert('hello world!')},false);
},false);
Vorrei trovare un modo per scorrere tutti gli oggetti del svg (forse avere una classe particolare) e collegare un ascoltatore anche a loro.
aggiornamento
Cosi 'ogni' funzione di JQuery può essere un'opzione adatta, ma sembra che JQuery non gestisce la svg DOM così bene. C'è qualche altra opzione disponibile? (Come un plugin per jQuery?)
Se a.contentDocument non è els [i] .contentDocument? –
@MichaelScottCuthbert non proprio, ma l'intero esempio era sbagliato, l'ho riscritto. – Duopixel