Me gustaría crear una página web que muestre un svg interactivo: dado que se pueden usar varios svg, los diversos objetos mostrados tendrán ID diferentes, por lo que los detectores de eventos (para capturar un clic de ratón, por ejemplo) tienen que ser dinámicos.Cómo agregar detectores de eventos a los objetos en un svg?
A partir de 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);
me gustaría encontrar una manera de desplazarse a través de todos los objetos de la SVG (tal vez tener una clase particular) y adjuntar un oyente incluso para ellos.
actualización
Así que 'cada uno' función de jQuery puede ser una opción adecuada, pero parece que jQuery no maneja el DOM SVG tan bien. ¿Hay alguna otra opción disponible? (Como un plugin de jQuery?)
Should a.contentDocument not be els [i] .contentDocument? –
@MichaelScottCuthbert en realidad no, pero todo el ejemplo fue incorrecto, lo reescribí. – Duopixel