0
私は自分のウェブサイトにいくつかの埋め込みsvgファイルを持っています。 onmouseclick、onmouseout、onmousemove関数を使用したいと思いますが、動作しません。それは可能ですか?埋め込みデータにマウス機能を呼び出す方法は?
私は自分のウェブサイトにいくつかの埋め込みsvgファイルを持っています。 onmouseclick、onmouseout、onmousemove関数を使用したいと思いますが、動作しません。それは可能ですか?埋め込みデータにマウス機能を呼び出す方法は?
埋め込みSVGスクリプトが同じドメインから提供される場合にのみ可能です。埋め込みコンテンツの読み込みが完了したら、getSVGDocument
で実際のsvgドキュメントを取得したいとします。そこからイベントを追加します。このデモをチェックアウト:
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="300"
height="200">
<rect x="50" y="25" width="200" height="150" fill="red"/>
</svg>
eventsDemo.js
var log, emb, svgDoc, rect;
log = function (e) {
console.log(e.type);
};
emb = document.querySelector('embed');
emb.addEventListener('load', function() {
svgDoc = emb.getSVGDocument();
rect = svgDoc.querySelector('rect');
rect.addEventListener('click', log);
rect.addEventListener('mousemove', log);
rect.addEventListener('mouseout', log);
});
demo.html
<!doctype html>
<html>
<head>
</head>
<body>
<embed type='image/svg+xml' src='rect.svg'>
<script src='eventsDemo.js'></script>
</body>
</html>
rect.svgあなたは何を試したのですか?ここにいくつかのコードを貼り付けてください –
私はwmode = "transparent"をembedに、mouseclick関数を親divに与えましたが、うまくいきません –