我有以下输入部分,稍后将其转换为将不透明度设置为1.'点击'在圈子上工作。点击'点击'在文字上没有。
如果我替换了'文字'对于一个' rect'并在rect上设置适当的属性,然后两次点击都能正常运行。
当我检查dom树时,听众在圆圈和文本元素上都能正确显示。
有人可能会指出任何明显的错误或告诉我为什么使用' text'不和听众工作?
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);
答案 0 :(得分:-2)
发现由于某种原因'指针事件'没有总是在元素上设置 - 当我在更新过渡期间专门将样式设置为“可见”时,它就起作用了。知道为什么会发生这种情况会很有趣 - 我的代码或css文件中都没有设置样式。