Я попытался разобрать код для применения всплывающей подсказки к bru sh в 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
Я думаю, что это просто лишняя часть, которая ничего не делает с визуализацией.
В чем разница, что включает всплывающую подсказку я твердо верю, что здесь происходит поверх функции bru sh.
Он добавляет вспомогательную функцию в виде '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());
Заранее спасибо.
PS
Кроме того, насколько я понимаю, Custom event не требуется ни в какой ситуации. Потому что то, что он делает, совпадает с обычной функцией, а пользовательские события не могут делать ничего особенного. Чтобы реализовать его функциональность, мне нужно отправить его, что делает код длинным, не более того.
Это всего лишь моя мысль, и я готов выслушать любую критику моей мысли (это не мой главный вопрос. )
Всегда благодарен за конструктивные комментарии от Stackoverflow.