【问题标题】:Why Do I need to use Custom Event for Tooltip and Brush in D3?为什么我需要在 D3 中为 Tooltip 和 Brush 使用自定义事件?
【发布时间】:2020-08-20 16:42:49
【问题描述】:

我试图分解在 D3 中在画笔上应用工具提示的代码。

我正在研究的代码似乎使用自定义事件。 但是,我认为自定义事件不是必需的。为了检查这一点,我注释掉了 整个自定义事件部分,它工作得非常好。

我注释掉的部分如下。

function brushend() {
    //딱히 필요한거같지는 않은 기능.
  get_button = d3.select(".clear-button");
  if(get_button.empty() === true) {
    clear_button = svg.append('text')
      .attr("y", 460)
      .attr("x", 825)
      .attr("class", "clear-button")
      .text("Clear Brush");
  }

下面附上完整的代码。

https://codepen.io/jotnajoa/pen/NWGXoQo

我认为这只是一个额外的部分,对可视化没有任何作用。

在画笔功能之上启用工具提示的不同之处在于 我坚信发生在这里。

它以“调用”的方式添加辅助函数,而不仅仅是 添加 '.on('click', function() )'

points = svg.selectAll(".point")
    .data(data)
  .enter().append("circle")
    .attr("class", "point")
    .attr("clip-path", "url(#clip)")
    .attr("r", function(d){return Math.floor(Math.random() * (20 - 5 + 1) + 5);})
    .attr("cx", function(d) { return x(d.index); })
    .attr("cy", function(d) { return y(d.value); })
    .call(d3.helping.tooltip());

提前谢谢你。




附言
另外,据我了解, 在任何情况下都不需要自定义事件。 因为它的作用与常规函数和自定义事件相同 真的不能做任何特别的事情。要执行它的功能,我需要调度它 这使得代码冗长,仅此而已。

这只是我的想法,我愿意听取任何对我想法的批评。(这不是我的主要问题)

总是对 Stackoverflow 的建设性 cmets 心存感激。

【问题讨论】:

    标签: javascript d3.js data-visualization


    【解决方案1】:

    我想通了。 这不是自定义事件的问题。 这只是代码和调用函数的顺序问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      相关资源
      最近更新 更多