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

标签 javascript jquery svg snap.svg

我想在使用 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/

相关文章:

javascript - prototype.js - Element.insert( Element) 在 IE 6 下被忽略?

javascript - HTML Canvas - 拖动上传的图像并调整其大小

jquery - Jslint缺少分号错误

javascript - `if` 无法检查 <img> src 的值

javascript - Jquery did() 的正确语法是什么?

jquery - 如何为文件上传表单执行 jquery post ?

javascript - 如果多个调用之一失败,则 JSONP 请求调用不成功

css - SVG splinter 的心

css - Adobe Illustrator 删除了我在 svg 图像上的类名。我怎样才能防止这种情况发生?

html - 如何使用 SVG 作为响应式重复网页背景?