我想在使用 snap.svg
加载 SVG 图像后对其进行操作。不幸的是,加载事件的回调从未被调用。如何向 svg 对象注册加载事件?
我创建了这个 minimal example我的问题。
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-object tag load event
It seems like jQuery simply prevents to bind a "load" event to a non-image-or-document element, so I just use the "official" addEventListener() function...
也不确定情况是否仍然如此,但您的问题主要是在 jsfiddle 中您在文档“已加载”而不是文档“就绪”上执行代码。文档加载意味着所有资源都在执行代码之前加载,因此 svg 图像已经加载。
与这个更新的 jsfiddle 一起工作正常 http://jsfiddle.net/47jSh/2/
alert('loading');
$('#animation')[0].addEventListener('load', function() {
alert("loaded");
}, true);
关于javascript - 如何监听带有 SVG 图像的对象的加载事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24671623/