I am working on to create a undirected graph with force layout. In addition, I try to chage each circle's (node's) color with click event. Is there any idea to add such event on the circle elements. I tyry this code however it is not working.
vis.selectAll("circle.node").on("click", function(d){
vis.select(d).attr(r, 25)
.style("fill","lightcoral")
.style("stroke","red");
});
select(d)
references the data, not the element. You need to select(this)
vis.selectAll("circle.node").on("click", function(){
d3.select(this).attr('r', 25)
.style("fill","lightcoral")
.style("stroke","red");
});
vis.select(this)
gives me a DOM exception. d3.select(this)
works for me. You can also use d3.event.target
to access the DOM element that is clicked on.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With