これは、次のような同じ問題です: SvgAnimatedString missing method indexOf
d3を使用せずに同じ問題があります。私は純粋な SVG のみを使用し、それを angularJS コントローラーで DOM に追加しています。問題はd3にはありません。この問題は、リンクを含む要素の jQuery クリック イベント ハンドラーに return false 値を追加することで解決できます。
私のSVGの一部:
<g id="1" class="node">
<a xlink:title="title">
<polygon fill="#cccccc" stroke="#cccccc" points="25,-434 25,-457 98,-457 98,-434 25,-434"></polygon>
<polygon fill="none" stroke="black" points="25,-434 25,-457 98,-457 98,-434 25,-434"></polygon>
<text text-anchor="start" x="29.5" y="-442.3" font-family="Arial" font-size="14.00">title</text>
<polygon fill="transparent" stroke="black" points="25,-412 25,-434 98,-434 98,-412 25,-412"></polygon>
<text text-anchor="start" x="37" y="-419.8" font-family="Arial" font-size="14.00">title</text>
</a>
</g>
jQuery のオーバーロード方法:
$('g.node').click(function (element) {
return false;
});
お役に立てれば...