d3.js - 将鼠标悬停在 D3 中第二个 svg 的散点图中

标签 d3.js mouseover

我正在尝试创建一个包含散点图、网络图和表格的页面。我能够让鼠标处理在网络图和表格上工作(在 @Superboggly Link D3 force layout network diagram with table on mouseover 的帮助下)。现在我试图让鼠标处理在带有散点图的第二个 svg 上工作,我认为我弄乱了引用。

var mapit = svg2.selectAll("maprect")
    .data(graph.nodes)
    .enter().append("rect")
    .attr("x", function(d) { return xScale(d.long); })
    .attr("y", function(d) { return yScale(d.lat); })
    .attr("height", 20)
    .attr("width", 20)
    .attr("fill", "cyan")
    // This mouseover doesn't work, what am I missing?
    .on("mouseover", function(d) { 
        d3.select(this).select("rect").style("fill", "orange"); 
        })
    .on("mouseout",  function(d) { 
        d3.select(this).select("rect").style("fill", "cyan"); 
        });

我是 D3 和 JavaScript 的新手,并且对... mapitsvg2maprectgraph.nodesrect,...我从其他人的示例中拼凑而成。有什么建议吗?

该示例发布为 jsFiddle .

最佳答案

你们离得太近了!只需删除函数中的 .select("rect") 即可:

.on("mouseover", function(d) { 
    d3.select(this).style("fill", "orange"); 
    })
.on("mouseout",  function(d) { 
    d3.select(this).style("fill", "cyan"); 
    });

updated fiddle .

关于d3.js - 将鼠标悬停在 D3 中第二个 svg 的散点图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16426259/

相关文章:

javascript - 如何使用 html/css 使页面在 MouseRelease 上移动?

python - 在 Tkinter 中制作鼠标悬停事件函数列表

javascript - 当我再次将鼠标悬停时重新启动音频

jquery - 文档就绪时的 CSS3 触发鼠标悬停状态

javascript - D3 CSV 列空间解析

javascript - D3.js:如何根据 TreeMap 中每个内容的大小来决定每个方 block 的面积和颜色?

javascript - 如何让 "call"为 D3 中的每个数据元素执行?

javascript - Sound Manager 2 基本示例重定向问题(mp3 在单独页面上)

javascript - 创建外部 JavaScript 文件并在 HTML5 Canvas 上调用它

javascript - 如何在d3中绘制单轴频率分布图?