使用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