d3.js - d3 为什么在 mousehover 字段上未定义并且 d3.event 也未定义?
问题描述
遇到了这个问题。你能看看吗? https://codepen.io/DeanWinchester88/pen/BaZYewv
tooltip.html(d.area + "%")
// .style("left", (d3.event.pageX + 3) + "px")
// .style("top", (d3.event.pageY + 5) + "px")
解决方案
有几个问题。首先,您在事件侦听器中交换了参数的顺序。第一个参数是事件,第二个参数是数据。其次,您可以使用and而不是d3.event.pageX
and 。d3.event.pageY
event.pageX
event.pageY
这是一个例子:
.on("mouseover", (event, d) => {
tooltip.style("opacity", .7)
.style("left", (event.pageX + 3) + "px")
.style("top", (event.pageY + 5) + "px")
.html(d.area + "%");
})
.on("mouseout", (event, d) => {
tooltip.style("opacity", 0)
})
推荐阅读
- c# - 使用 C# WinForms,如何修改系统音频输出,即均衡音频?
- h2 - 连接到 H2 给出:org.h2.jdbc.JdbcSQLException:唯一索引或主键违规:
- python - What Google app engine Auth to use to only expose my "intranet" site only to my GSuite users?
- javascript - How can I centralize bootstrap tooltip call?
- nginx - Nginx 不在反向代理中缓存静态资产
- spring-boot - 如何在 Spring Data Jpa 中通过示例查询使用投影?
- c# - 将工作表复制到新工作簿时,EPPlus 中的 ArgumentOutOfRange 异常
- mysql - 解决 perl DBD::mysql UTF-8 错误
- java - 用于授权的 Java swagger 注释
- firebase - Firebase Functions 版本的“部署到多个环境”