je code comme ceci, en utilisant jQuery-svgÉvénement SVG onload appelé trop tôt?
function replaceRaster(){
$('#png').remove()
a = $('#graphic')
b = a.svg(a)
a.load('IDC_Energy.svg',
{onLoad:bind})
svg = document.getElementById("graphic").children[0]
console.log(svg)
svg.addEventListener('load', bind)
}
Le gestionnaire d'événements, bind
, est déclenché avant jQuery-svg-dom est en mesure de sélectionner des éléments dans les données SVG. Mon code est censé regarder par-dessus le SVG et assigner différentes classes et attacher des écouteurs à divers éléments, mais il n'est pas capable d'en trouver. Si j'appelle le bind
dans la console après que tout soit chargé, il peut trouver tous les éléments SVG.
Est-ce que je fais quelque chose de mal? Existe-t-il un autre moyen de détecter quand le DOM SVG est disponible? J'ai pensé à utiliser une minuterie, mais c'est vraiment bizarre, d'autant plus que mes fichiers SVG pourraient être de quelques Mo de large.
La page charge les données SVG de manière asynchrone, oui. J'ai fini par utiliser une boucle pour vérifier si le contenu est prêt toutes les 50ms ou quelque chose (oublié maintenant). –