6

埋め込みオブジェクトに onClick ハンドラを追加しようとしています。ハンドラは、.js 経由で現在の html ファイルにリンクされている外部 .js ファイルにある関数を実行する必要があります<script src="...

別の場所にあるため、関数を別の方法で参照する必要がありますか?

現在のコードは次のとおりです (動作しませんが、エラーも発生しません)。

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/>
4

4 に答える 4

9

svg内にonclick を実装し、svg 内の javascript を使用して外部 JavaScript 関数にリンクする必要があります。例については、SVG wiki を参照してください。

更新: どうやら SVG wiki はなくなったようです。私が今 (すぐに) 見つけることができる最高の参照が StackOverflow 自体にあることは驚くことではありません。

この回答は、 svg 内に onclick を実装する方法を説明しています

于 2010-07-01T09:08:38.623 に答える
2

いずれかのJavaScriptバインディングを使用します(Mario Mengerはすでにそれに答えています)。

バインディングを使用できない、または使用しない場合は、xil3が1つの変更で回答したものを使用できます。

<a href="javascript:someFunc()"></a>クリックコンシューマーとして空のアンカータグを使用します。z-indexとposition/sizeを設定して、svgオブジェクトの上に配置されるようにします(ブラウザー間の互換性のため)。

于 2010-07-01T09:18:41.517 に答える
0

Onclickはすべて小文字にする必要があります。

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/>
于 2010-07-01T09:20:18.653 に答える