D3.js文本事件已注册,但未触发



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文件中设置的样式。

最新更新