あなたが提供したplunkrに基づいて、イベントが正しく機能するためには、d3がsvgを読み込んだ後にイベントを追加する必要があります。 ので、これに代えて:このように
d3.xml("DCMetroMap.svg").mimeType("image/svg+xml").get(function(error, xml) {
if (error) throw error;
// load the document
document.body.appendChild(xml.documentElement);
//then add the events
d3.select("#K05")
.on("mouseover", function(d) {
console.log(d) // d will be null here
console.log('hello')
alert("Hi!")
})
})
:あなたはこのような選択を移動する必要が
d3.xml("DCMetroMap.svg").mimeType("image/svg+xml").get(function(error, xml) {
if (error) throw error;
document.body.appendChild(xml.documentElement);
})
// this runs before the above finishes, so d3 won't find something to select
d3.select("#K05")
.on("mouseover", function(d) {
console.log(d)
console.log('hello')
})
console.log(d3.select("#K05"))
つまりhttp://plnkr.co/edit/WbYyBKtzZe6MtKGbjzw9?p=preview
、あなたが何かを、あなたはそれを置く必要があります後document.body.appendChild(xml.documentElement);
これが役立ちます。がんばろう!
これ以上のコードを表示する必要があります。さらに良い、[MCVE]。 –
コンソールエラーとは何ですか?あなたはフィドルを提供できますか? – mkaran
[this](https://bl.ocks.org/mbostock/1014829)から[こちら](http://plnkr.co/edit/1s2LJ3mMylqzYjveZlGl?p=preview)を見て、あなたの外部サイト.svgにアクセスできますか?パスは正しいですか? – mkaran