1

我正在将 svg 加载到我的网页,这取决于它的浏览器。问题是在 IE 中我无法获取 svg 元素,因为它的加载方式不同。

<!--[if !IE]>-->
    <div id="SVGContainer"></div>
<!--<![endif]-->
<!--[if lt IE 9]>
    <object id="infoobjectgraph" src="@routes.Assets.at(graphfilename)" classid="image/svg+xml" width="800" height="600" >
<![endif]-->
<!--[if gte IE 9]>
    <object id="infoobjectgraph" data="@routes.Assets.at(graphfilename)" type="image/svg+xml" width="800" height="600" >
<![endif]-->

如果不是 IE,我就用$("#SVGContainer").on("click", "g.node a", function(event){...},效果很好。我怎样才能对 IE 做同样的事情?

我试过$("#infoobjectgraph").on("click", "g", function(event){...}了,但这不起作用。

我以不同方式加载 svg 的原因是我使用的是 SVG Web,因此 svg 在 IE8 中工作。所以加载的东西必须保持原样。因此,对于 IE,它作为对象加载,对于 !IE,我从 svg 加载所有内容并将其放入#SVGContainer 中。

有任何想法吗?

编辑: “g”是我的 svg 中的一个节点。例如:

<svg>
<g id="node1" class="node">
...
</g>
<g id="node2" class="node">
...
</g>
</svg>
4

0 回答 0