0

我不明白为什么我的点击事件处理程序不起作用。我知道事件处理程序正在运行,因为我可以看到三个 console.log() 语句的输出。问题是点击事件不会改变填充颜色。我的代码全部包含在一个 Observable 笔记本单元格中。我正在使用 d3 版本 7.3.0。

chart = {

  const height = 200;
  
  const svg = d3.create("svg")
      .attr("width", width)
      .attr("height", height);

  let my_circles = svg
    .selectAll("circle")
    .data(d3.range(10))
    .enter()
    .append("circle")
      .attr("cx", d => d * 50)
      .attr("cy", height / 2)
      .attr("r", d => Math.random() * 20)
      .attr("fill", "blue");

  my_circles
    .on("click", (event, d) => {
          console.log(event);
          console.log(d);
          console.log(d3.select(this));
          d3.select(this).attr("fill", "orange");
      });

  return svg.node();
}

有帮助,谢谢。

保罗

4

0 回答 0