首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载事件未在具有svgweb的svg上触发

加载事件未在具有svgweb的svg上触发
EN

Stack Overflow用户
提问于 2012-07-08 02:11:46
回答 3查看 1.3K关注 0票数 0

我尝试在SVG之后做一些事情(由<object>:引用)

代码语言:javascript
复制
<!--[if !IE]>-->
<object data="file.svg" type="image/svg+xml" id="image-1" width="760" height="730" > <!--<![endif]-->
<!--[if lt IE 9]>
<object src="file.svg" classid="image/svg+xml" width="200" height="200" id="image-1" width="760" height="730"> <![endif]-->
<!--[if gte IE 9]>
<object data="file.svg" type="image/svg+xml" id="image-1" width="760" height="730">  
<![endif]-->
</object>

已加载:

代码语言:javascript
复制
a = document.getElementById("image-1");
a.addEventListener("load",function(){
   //some stuff
},false);

这在具有原生SVG支持的浏览器中工作得很好。然而,当SVG使用svgweb的flash支持时,我无法触发load事件。是我搞砸了什么还是这是意料之中的?

当闪回准备就绪时,我可以做什么来触发事件?我需要这个来动态隐藏/显示<path>%s。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-09 16:37:14

您是否尝试过监听'SVGLoad‘事件?

有关方法,请参阅用于SVGWeb的the user manual

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 00:33:58

我很难让SVG事件在嵌入了SVGWeb文件的不同浏览器中一致地触发。我发现这个方法适用于任何地方,也适用于jQuery:

在SVG文件的末尾,在</svg>标记之前:

代码语言:javascript
复制
<script type="text/javascript"><![CDATA[
    window.parent.SVGInit();
]]></script>

然后在SVG嵌入上方的HTML文件中:

代码语言:javascript
复制
<script>
    function SVGInit() {
        $(document).ready(function(){
            // SVG is loaded and ready.
        });             
    }
</script>
票数 1
EN

Stack Overflow用户

发布于 2012-07-23 18:26:57

您使用的是哪个版本的svgWeb?尝试更新到上面的Lurker。以前的版本可能会覆盖jquery的加载处理程序。另外,尝试使用以下语法:

代码语言:javascript
复制
mysvg.load = mysvg.onsvgload = function(){
    //Handler
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11377473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档