gpt4 book ai didi

html - SVG 加载事件过早调用?

转载 作者:太空狗 更新时间:2023-10-29 16:47:40 26 4
gpt4 key购买 nike

我有这样的代码,使用 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 大。

最佳答案

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

关于html - SVG 加载事件过早调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10953043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com