javascript - D3 组织结构图 - 显示用户详细信息

标签 javascript d3.js

基于我的 previous question 的回答,我能够创建一个公司组织结构图代码,目前看起来像 this

我想在搜索栏右侧的列中显示其他用户详细信息,例如电子邮件、电话、照片等(嵌入 abc2.json 文件中)as such

这是一个similar orgchart除了我希望详细信息显示在图表右侧而不是下方。
另外,我需要它来区分单击用户(显示详细信息)和单击节点(展开子项),而不是在鼠标悬停时显示详细信息。

如何做到这一点?

Thanks

最佳答案

您可以为附加到节点的文本创建一个组,向该组添加点击监听器,并在填充详细信息后停止事件传播:

var texts = nodeEnter.append('g')
            .on("click", userClick);
  // name
  texts.append("text")
      .attr("x", function(d) { return d.children || d._children ? -10 : 10; })
      .attr("dy", ".30em")
      .attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; })
      .text(function(d) { return d.name; })
      .style("fill-opacity", 1e-6);

  // title
  texts.append("text")
      .attr("x", function(d) { return d.children || d._children ? -10 : 10; })
      .attr("dy", "1.5em")
      .attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; })
      .text(function(d) { return d.title; })
      .style("fill-opacity", 1e-6);



function userClick(d) {
    $('#details').show();
    $('.name').text(d.name);
    $('.email').text(d.email);
    $('.phone').text(d.phone);
    d3.event.stopPropagation();
}

这是您更新的插件:http://plnkr.co/edit/FQCegRgUGtqizwPRLBMP

关于javascript - D3 组织结构图 - 显示用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235077/

相关文章:

javascript - 无法使用 Node js 设置 cookie

javascript - 如何使用 ejs 加载可选的 css 标签?

javascript - 链接中的标签未显示

javascript - SVG 不显示通过 d3 和 jquery 添加的元素

javascript - 如何在 D3 折线图上安装可变长度刻度标签?

javascript - d3 轴和标签剪裁

javascript - 带有单个按钮的侧边栏导航切换

javascript - 尝试通过单击另一个页面上的链接访问页面上的部分时出错

javascript - 在 Javascript 中检测 IE8 64 位

javascript - 在 D3 散点图圆圈上添加标签