i具有以下输入部分,该部分稍后将其设置为1.圆圈上的'click'''。文本上的"单击"没有。
如果我将"文本"替换为" rect"并将适当的属性设置在rect上,则两个点击都正确函数。
当我检查DOM树时,听众在圆圈和文本元素上都可以正确看到。
有人可以指出任何明显的错误,或者告诉我为什么使用"文本"不会与听众一起使用?
var nodeEnter = node.enter().append('g')
.attr('class', 'node')
.attr('transform', function () {
return 'translate(' + source.y0 + ',' + source.x0 + ')';
})
.style('opacity', 1e-6);
nodeEnter.append('circle')
.attr('r', 1e-6)
.style('fill', function (d: any) {
return d._children ? 'lightsteelblue' : '#fff';
})
.on('click', this.circle_click);
nodeEnter.append('text')
.attr('dx', 3.5)
.attr('dy', 5.5)
.text(function (d: any) { return d.data.name; })
.style('fill-opacity', 1e-6)
.on('click', this.text_click);
发现,由于某种原因,'none''始终设置在元素上 - 当我在更新过渡期间专门设置了"可见"样式时,然后才起作用。知道为什么会发生这种情况会很有趣 - 该样式肯定不是我的代码或CSS文件中设置的样式。