我有一个函数,从文件中加载SVG Dom。目前,它创建了一个embed
元素并将其放置在文档中,然后等待onload
事件的触发。然而,显然,对于在页面加载后放置在文档中的元素,onload
不会被调用。有没有办法在元素完成加载后注册一个要调用的函数?
这是我的代码:
function loadSVG(svgFilename, callback)
{
// Loads data from an svg file
// loadSVG(
// svgFilename, // The path to the file to load
// callback // The function to be called with the
// // SVG document once it loads.
// );
var embed = document.createElement("embed");
embed.src = svgFilename;
embed.onload = function() // Doesn't get called because page has already loaded
{
var doc = embed.getSVGDocument();
document.getElementById("SVGLoader").removeChild(embed);
callback(doc);
};
document.getElementById("SVGLoader").appendChild(embed);
}