jQuery-svgを使用して、このようなコードがあります
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)
}
イベント ハンドラー はbind
、jQuery-svg-dom が SVG データ内の要素を選択できるようになる前に起動されます。私のコードは、SVG を調べて、さまざまなクラスを割り当て、さまざまな要素にリスナーをアタッチすることになっていますが、何も見つかりません。すべてがロードされた後にコンソールを呼び出すbind
と、すべての SVG 要素を見つけることができます。
私は何か間違ったことをしていますか?SVG DOM がいつ利用可能かを検出する別の方法はありますか? 私はタイマーを使用することを考えましたが、特に SVG ファイルが数 MB になる可能性があることを考えると、それは本当にハックです。