gpt4 book ai didi

d3.js - D3js : how to open new tab after doubleclick on element?

转载 作者:行者123 更新时间:2023-12-04 22:46:06 25 4
gpt4 key购买 nike

在我的dataviz上,输入topojson和svg多边形分别包含一个属性name:"..."data-name="..."。在我的D3js代码中,我目前有:

function click(a){console.log(a.properties.name);}

成功打印出名称的值。

除此之外, 我如何添加**双击以打开带有url "http://en.wikipedia.org/wiki/"+a.properties.name的新标签页?**

编辑:Doubleclick可能是 on("dblclick", function(){...}),但您可能会想到其他方法。我还更喜欢从properties.name构建url,而不是将其存储到SVG中,这将使其变得无用的沉重。

最佳答案

我发现window.open方法有效(在下面的oncick中)。

vis.selectAll("text")
.data(nodes)
.enter().append("svg:text")
.attr("class", function(d) { return d.children ? "parent" : "child"; })
.attr("x", function(d) { return d.x; })
.attr("y", function(d) { return d.y; })
.attr("dy", ".35em")
.attr("text-anchor", "middle")
.style("opacity", function(d) { return d.r > 20 ? 1 : 0; })
.text(function(d) { return d.name; })
.on("click",function(d){
window.open(d.url, '_blank')});

d3.select(window).on("click", function() { zoom(root); });
});

关于d3.js - D3js : how to open new tab after doubleclick on element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461578/

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