我曾试图分解D3中应用于刷子上的tooltip的代码,而我正在研究的代码似乎是使用自定义事件。
而我正在研究的代码似乎是使用自定义事件,但是,我不认为自定义事件是必要的。为了检查这一点,我注释了整个自定义事件部分,它工作得非常好。
我注释掉的部分在下面。
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.iojotnajoapenNWGXoQo
我认为这只是一个额外的部分,对可视化没有任何作用。
我坚信,在刷子功能之上实现工具提示的不同之处就发生在这里。
它以'call'的方式添加了辅助函数,而不是仅仅添加'.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());
先谢谢你。
P.S 另外,据我所知,自定义事件在任何情况下都不是真正必要的,因为它所做的只是和普通函数一样,自定义事件并不能真正做什么特别的事情。为了执行它的功能,我需要调度它,这使得代码变得冗长,仅此而已。
这只是我的想法,我愿意听取任何对我的想法的批评意见(这不是我的主要问题)。
对于来自Stackoverflow的建设性意见,总是感到很感激。
我想明白了.这不是一个自定义事件的问题.而是代码和调用函数的问题.只是代码和调用函数的问题.