d3js在点击事件后选择元素

时间:2017-06-21 21:04:30

标签: typescript select d3.js

使用d3点击事件后,我无法选择该元素。

我的代码:

this.node = this.svg.append("g")
      .attr("class", "nodes")
      .selectAll("circle")
      .data(data.nodes)
      .enter().append("circle")
      .attr("r", 4)
      .attr("fill", (d) => { return this.color(d.kind); })
      .on('click', function (d, event) {
        console.log(d3.event.currentTarget)
        console.log(d['id'])
        console.log(event)
        console.log(d3.select(d3.event.currentTarget).select("circle").empty())
        d3.select(this).select("circle")
          .transition()
          .attr("r", 16)

如您所见,我想更改所选元素的r属性,但它不起作用。

以下是控制台:

<circle r=​"4" fill=​"#1f77b4" style=​"-webkit-tap-highlight-color:​ rgba(0, 0, 0, 0)​;​" cx=​"641.4375020534999" cy=​"652.293126144675">​…​</circle>​
ESCAPP
 368
 true

所以我不明白的是,事件确实指向一个元素,但d3没有选择它。

注意:我使用的是typescript和Angular 2

0 个答案:

没有答案