javascript - 在鼠标悬停时在 svg 中添加文本不起作用 d3.js
问题描述
我有一个带有线条的图表,当我将鼠标悬停在线条上时,我想在 svg 中显示一个文本。这是代码:
let lines = svg.append("g").attr("class", "lines");
lines
.selectAll(".line-group")
.data(data)
.enter()
.append("g")
.attr("class", "line-group")
.on("mouseover", function (d, i) {
console.log(d.name)
svg
.append("text").attr("class", "title-text")
.style("fill", color(i))
.text(d.name + "efzeiufzihefizeifiu")
.attr("text-anchor", "middle")
.attr("x", 200)
.attr("y", 30);
})
.on("mouseout", function (d) {
svg.select(".title-text").remove();
})
我没有错误,并且鼠标悬停工作正常,因为我可以在控制台中看到 d.name 的值,但是在 svg 中没有添加文本属性。我的灵感来自:https ://codesandbox.io/s/multi-line-chart-example-wrxvs ,它的作用基本相同,但它在悬停时添加了文本。任何想法 ?
解决方案
如果组不包含任何鼠标要打开的元素,mouseover
则不会触发该事件。<g>
您必须在组中附加一些内容,以便在鼠标进入后触发事件。
推荐阅读
- sql - DATE_TRUNC 从星期日开始,用于 SQL presto (Athena)
- r - 在基础 R 中设计箱线图
- eclipse-cdt - 如何防止 CLion 在我已从我的范围中排除的文件中进行搜索?
- linkedin - 如何在 LinkedIn 中创建测试配置文件
- c++ - 返回本地文字的 string_view 如何工作
- sql - 在节点环境中返回“NaN”的 SQL 查询
- regex - WSO2 EI 过滤介质中的动态正则表达式
- python - PythonAnywhere:如何使用 HTTP 版本的 SendGrid 的 API?
- tcl - 如何在 TCL 中保存光标位置?
- tensorflow - 如何冻结/解冻预训练模型作为 Tensorflow 中子类模型的一部分?