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

我想在使用snap.svg加载后操纵SVG图像。 不幸的是,从不调用load事件的回调。 如何将加载事件注册到svg对象?

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

HTML:

  

使用Javascript:

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

从这篇postjQuery SVG-object标签加载事件

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

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

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

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