1. ホーム
  2. svg

[解決済み] d3.jsでノードのダブルクリックイベントを作成するにはどうすればよいですか?

2022-02-10 04:08:55

質問

ノードのダブルクリックイベントを作りたいのですが、どうすればいいですか? そこで

.on("dbclick",function(d){return "http://google.com");});

そして

.bind({"dbclick",function(d){alert("hello")} });

しかし、すべて失敗しました。誰か助けてくれませんか?

全コードは以下の通りです。

var node = svg.selectAll(".node")
    .data(graph.nodes)
    .enter().append("g")
    .attr("class", "node")
    //.on("dbclick",function(d){return "http://google.com");});
    //.attr("xlink:href", function(d){return d.url;}
    .call(force.drag);
    //.bind({"dbclick",function(d){alert("hello")} });


最後に、以下の方法を使いました。(dblclickでも動作します)

var node = svg.selectAll(".node") .data(graph.nodes) .enter().append("a") 
              .attr("class", "node") .attr("target", "_blank")
              .attr("xlink:href", function(d){return "google.com";;}) 

解決方法は?

dbclick"の代わりに"dblclick"を使用することができます。

nodes.on("dblclick",function(d){ alert("node was double clicked"); });