Вы можете просто установить простой флаг, чтобы убедиться, что вы находитесь на пути:
d3.select(img).selectAll('path')
.on("mouseover", function() { mutable isOn = true; })
.on("mouseout", function() { mutable isOn = false; });
Или просто измените ваш mousemove
, чтобы он действовал по путям вместо svg:
d3.select(img).selectAll('path').on("mousemove", function() {
mutable inverse = projection.invert(d3.mouse(this));
mouse.attr("transform", `translate(${projection(mutable inverse)})`);
});
Обновлено Наблюдается .