2017-10-04 10 views
0

私のSVGには<の画像>という要素があります。特定のノードに関連付けられたイメージURLにアクセスするonclickハンドラを追加したいが、DOMドキュメントでフィールド名を見つけることができない。それがHTMLなら、私はthis.srcにアクセスしますが、SVG DOMは明らかに異なっています - これに関する関連ドキュメントは見つかりません。SVGの画像要素URLへのアクセス

説明が追加されました: <image xlink:href="http://example.jpg" onclick="code">のようなものがあれば、現在のノードの画像URLにアクセスするには「コード」が必要です。あなたは<object>タグにSVGのハンドラを使用することができます

答えて

0

onclick="window.open(this.getAttribute('xlink:href'),'_blank');"

<object type="image/svg+xml" data="picture.svg"> 
    <img src="picture.png" alt=""> 
</object> 
+0

これは私がする必要はありません。私のSVGは画像要素を使ってrect要素にたくさんのJPGサムネイルを含んでいます。現在の画像ファイルのURLにアクセスする(on)別のタブで表示するために、 "onclick = ..."ハンドラを追加したいと思います。私は、各onclick属性に画像ファイルのURLを手作業でコードしたくありません。 – ACProctor

1

OKは、次の両方が、私はよく分からないが、推奨され、動作するようですonclick="window.open(this.getAttributeNS('http://www.w3.org/1999/xlink', 'href'), '_blank');"

0

SVG DOMのプロパティには、多くのアニメーションが可能なので、余分なトリックがあります:を追加してください(アニメーション化されていない値の場合)をプロパティ名に追加します。 hrefの場合は、xlink:部分を省略することができます。

onclick="window.open(this.href.baseVal, '_blank');" 
関連する問題