繁体   English   中英

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

[英]How to listen to a load event of an object with a SVG image?

我想在加载snap.svg之后操纵SVG图像。 不幸的是,从不调用load事件的回调。 如何将加载事件注册到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-object标签加载事件

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

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

使用这个更新的jsfiddle http://jsfiddle.net/47jSh/2/可以正常工作

alert('loading');
$('#animation')[0].addEventListener('load', function() {
    alert("loaded");    
}, true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM