d3.js - 使文本成为 svg 中的链接

标签 d3.js svg hyperlink

我正在使用 d3 绘制图表(我正在使用 thix 示例: https://gist.github.com/keiranlovett/8766741 )。我需要添加一个链接。我正在添加文本并试图将其设为链接,但它并未显示为链接(我使用的是 IE 11):

svg.append("g") //without doing this, impossible to put grid lines behind text  

     .attr({
            xmlns: "http://www.w3.org/2000/svg",
            xlink: "http://www.w3.org/1999/xlink",
            width: 100,
            height: 300
        })
     .attr({ "xlink:href": "#" })
     .on("mouseover", function (d, i) {
            //alert('aaa');
            d3.select(this)
                .attr({ "xlink:href": "http://example.com/" + "eeeeeeeeeeeeeeeeeee" });
        })
     .selectAll("text")

     .data(tasks)
     .enter()
     .append("text")

     .text(function (d) {
         if (ammendmentsLinks.indexOf(d.contract) < 0) {
             ammendmentsLinks = ammendmentsLinks + d.contract + ";";
             return d.contract;
             //return "";
         }
         else {
             return "";
         }
     })
     .attr("x", 20)
     .attr("y", function (d, i) {
         return i * 20;
     })
     .attr("font-size", 11)
     .attr("text-anchor", "start")
     .attr("text-height", 14)
     .on("click", function (d) {
         return click(d.contract);
     });

我还添加了来自 http://jsfiddle.net/christopheviau/B9zcF/ 的一些代码行使文本成为链接,但它不起作用。

如何使我的文本成为链接?

最佳答案

这也是一个很好的解决方案:

  d3.select(this)
              .text(d)
              .on("click", function() { window.open("https://www.random.com/" + d ); }); 

关于d3.js - 使文本成为 svg 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920956/

相关文章:

javascript - Dc.js - 具有动态高度的行图

javascript - 如何使用 D3.js 将两个按钮添加到一个 div?

javascript - Cytoscape.js - 自定义节点

hyperlink - Pinterest 上的 Pin 图链接到 404 - 但链接有效

jquery - 指向单页 Bootstrap 站点上的 div 的外部链接

javascript - D3.JS 'zoom' 未定义

javascript - D3 旭日。如何设置不同的环\层宽度

javascript - 使用 D3.js 将每五个 svg 元素包装在一个 div 中

html - 我想在另一个控件之上的 Canvas 上绘图,并且还能够访问该控件,这在 HTML 中可能吗?

css - 从 SVG 文档中的链接打开 CSS 模态框