d3.js добавление действия щелчка в круг принудительного размещения? - PullRequest
10 голосов
/ 31 января 2012

Я работаю над созданием неориентированного графа с принудительной разметкой.Кроме того, я пытаюсь изменить цвет каждого круга (узла) с помощью события click.Есть ли идея добавить такое событие на элементы круга.Я пытаюсь этот код, однако он не работает.

vis.selectAll("circle.node").on("click", function(d){
    vis.select(d).attr(r, 25)
    .style("fill","lightcoral")
    .style("stroke","red");
});

Ответы [ 2 ]

19 голосов
/ 01 февраля 2012

select(d) ссылается на данные, а не на элемент.Вам нужно select(this)

 vis.selectAll("circle.node").on("click", function(){
            d3.select(this).attr('r', 25)
                .style("fill","lightcoral")
                .style("stroke","red");
        });
2 голосов
/ 01 февраля 2012

vis.select(this) дает мне исключение DOM.d3.select(this) у меня работает.Вы также можете использовать d3.event.target для доступа к элементу DOM, по которому щелкнули.

...