gpt4 book ai didi

javascript - d3 获取当前鼠标指针下的元素或对象?

转载 作者:行者123 更新时间:2023-11-29 21:10:39 29 4
gpt4 key购买 nike

如何获取当前在 d3 中鼠标下方的对象(例如节点、边、路径或其他)?

我想将鼠标移到 svg 的任何部分和 console.log 元素上。

最佳答案

D3 对此没有本地方法。但是,您可以在 mousemove 事件中将 d3.mouse()document.elementFromPoint() 结合使用:

var svg = d3.select("svg");
svg.on("mousemove", function() {
var mouse = d3.mouse(this);
var elem = document.elementFromPoint(mouse[0], mouse[1]);
console.log(elem.tagName)
})
<script src="https://d3js.org/d3.v4.min.js"></script>
<svg height="150" width="500">
<rect x="50" y="20" width="150" height="100" style="fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;stroke-opacity:0.9"/>
<ellipse cx="240" cy="50" rx="220" ry="30" style="fill:yellow"/>
<ellipse cx="220" cy="50" rx="190" ry="20" style="fill:white"/>
<circle cx="350" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
<line x1="0" y1="0" x2="200" y2="200" style="stroke:rgb(255,0,0);stroke-width:4"/>
</svg>

关于javascript - d3 获取当前鼠标指针下的元素或对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073227/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com