首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVG onload事件调用太早了吗?

SVG onload事件调用太早了吗?
EN

Stack Overflow用户
提问于 2012-06-09 01:00:16
回答 1查看 708关注 0票数 5

我有这样的代码,使用jQuery-svg

代码语言:javascript
复制
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大。

EN

回答 1

Stack Overflow用户

发布于 2012-07-11 19:53:38

您是否尝试过使用计时器延迟为'0‘或仅为'10’的计时器?我经常使用这种技术将工作推出当前的run循环,因为计时器是在redraw ghas完成后触发的。幸运的是,绑定只有在重新绘制完成后才会被触发。我不确定这是否对您的特定实例有帮助,因为我不知道您在页面中还做了什么-例如,如果您正在进行一些异步数据处理,它将不会有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10953043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档