Самый простой способ создать всплывающие подсказки - это добавить элемент заголовка. Элемент заголовка будет вести себя как всплывающая подсказка. Это можно сделать без использования mouseover.
paths.append('title').text('');
Если вы хотите придерживаться своего собственного решения, вы можете отменить событие «mouseover» с помощью события «mouseleave».
paths.on("mouseleave", function(d){
d3.select("#" + _this.tooltipId).remove();
})
Приложение для ответа на ваш комментарий. Что ж, вы можете попробовать что-то подобное. Но я не могу гарантировать вам, что это сработает или не будет иметь побочных эффектов.
paths.on("mouseleave", function(d){
setTimeout(() => {
d3.select("#" + _this.tooltipId).remove();
})
},10000); // 10000ms => 10 seconds
});
Другой способ - использовать для этого анимацию:
paths.on("mouseleave", function(d){
d3.select("#" + _this.tooltipId)
.remove()
.transition()
.duration(10000);
});