1

どういうわけか次のようなHTMLファイルがあります。

<html>
 <div id="test"> ... </div>
 <object data="pic.svg" [...]></object>
</html>

pic.svgの中に、たとえば円などの要素があり、次のようなものを実現したいと思います。

<circle onClick="doSomething()" [...]>

ここで、js関数doSomething()で(つまり、誰かが円をクリックしたとき)、「テスト」-divを変更したいと思います。これを行う方法?

4

2 に答える 2

0

SVGをHTMLと同じDOMに配置する場合は、埋め込み<svg>要素を使用するのが最適です。それはかなりよくサポートされています。

何かのようなもの

<svg id="svgroot" width="600" height="600"
     version="1.1" xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
<script type="text/ecmascript">//<![CDATA[
   function doSomething() {
       document.getElementById('test').appendChild(...);
   }
//]]></script>

<circle onClick="doSomething()" />
</svg>
于 2013-01-11T08:32:08.243 に答える
0

次のように、svg内から親ドキュメント(およびその結果としてそこにある要素)にアクセスできます。

var divInParentDocument = window.parent.document.getElementById('test');

これは、svg内から親htmlドキュメント内の関数を呼び出す方法を示す(もう少し複雑な)例です。

于 2013-01-11T09:45:37.353 に答える