D3.js добавляет действие click к кругу компоновки сил?
Я работаю над созданием неориентированного графика с компоновкой силы. Кроме того, я пытаюсь изменить цвет каждого круга (node) с событием клика. Есть ли идея добавить такое событие в элементы окружности. Я набираю этот код, но он не работает.
vis.selectAll("circle.node").on("click", function(d){
vis.select(d).attr(r, 25)
.style("fill","lightcoral")
.style("stroke","red");
});
Ответы
Ответ 1
select(d)
ссылается на данные, а не на элемент. Вам нужно select(this)
vis.selectAll("circle.node").on("click", function(){
d3.select(this).attr('r', 25)
.style("fill","lightcoral")
.style("stroke","red");
});
Ответ 2
vis.select(this)
дает мне исключение DOM. d3.select(this)
работает для меня. Вы также можете использовать d3.event.target
для доступа к элементу DOM, на который нажата кнопка.