【发布时间】:2021-12-18 09:29:01
【问题描述】:
我目前正在研究美国的 GeoJSON,每个州都有一个鼠标悬停事件(例如,发生的一件事是将各州的边界更改为鲜红色以显示哪个州被突出显示)。
有些州相当小,尤其是在新英格兰。我试图想办法解决这个问题,并决定在一侧实现额外的按钮,这些按钮将具有与我认为很小的特定状态相关联的相同鼠标悬停事件。
我的问题是:当鼠标悬停在其他按钮上时,我将如何实现诸如突出显示州边界之类的事情。
我当前对原始状态本身的实现如下(我还没有开始处理其他按钮):
.on("mouseover", function(d) {
d3.select(event.target).attr("stroke", "red").attr("stroke-width", "3");
displayData(d);
});
.on("mouseout", function(d) {
d3.select(event.target).attr("stroke", "black").attr("stroke-width", "1");
hideData(d);
});
displayData(d) 和 hideData(d) 用于工具提示的显示。如您所见,鼠标悬停现在的工作方式是捕获 event.target。我将如何为单独的按钮复制它?是否有可能以某种方式将该按钮的 event.target 绑定到相应的状态?
【问题讨论】:
标签: javascript d3.js