如何监听带有 SVG 图像的对象的加载事件?

2023-11-23

我想在加载 SVG 图像后对其进行操作snap.svg。不幸的是,加载事件的回调从未被调用。如何向 svg 对象注册加载事件?

我已经创建了这个最小的例子我的问题。

HTML:

<object data="http://upload.wikimedia.org/wikipedia/en/8/80/Wikipedia-logo-v2.svg" type="image/svg+xml" id="animation" />

JavaScript:

alert('loading');
$('#animation').on('load', function() {
  alert('loaded');
});

从这篇文章jQuery SVG-对象标签加载事件

看起来 jQuery 只是阻止将“load”事件绑定到 非图像或文档元素,所以我只使用“官方” addEventListener() 函数...

也不确定情况是否仍然如此,但您的问题主要是在 jsfiddle 中,您在文档“已加载”而不是文档“就绪”上执行代码。文档加载意味着在执行代码之前加载所有资源,因此 svg 图像已经加载。

与这个更新的 jsfiddle 配合得很好http://jsfiddle.net/47jSh/2/

alert('loading');
$('#animation')[0].addEventListener('load', function() {
    alert("loaded");    
}, true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何监听带有 SVG 图像的对象的加载事件? 的相关文章

随机推荐