在我的一个项目中,我使用D3.js来创建树。一些子节点链接到不同的位置,当用户单击具有URL的节点时,我试图打开一个弹出窗口。我正在尝试的代码的一部分是:
e.append("svg:a").attr("target", "E2B").attr("xlink:href", function(a) {
return a.url;
}).append("text").attr("x", function(a) {
return a.children || a._children ? -10 : 10;
}).attr("dy", ".35em").attr("text-anchor", function(a) {
return a.children || a._children ? "end" : "start";
}).text(function(a) {
return a.name;
}).style("fill-opacity", 1E-6)
.on("click",window.open(d.url,'','width=600,height=300'));使用上述代码,当我在浏览器中加载项目时,会收到一个新的空白弹出窗口。此外,当我单击包含URL的子节点时,也会打开相同的空白弹出窗口。有人能告诉我我的密码有什么问题吗?
如果你需要的话,这是我的整个HTML代码- http://pastebin.com/tLZfmEg9
发布于 2015-03-02 19:03:33
这是我自己解决的工作代码。将问题中给出的代码替换为下面的代码。
e.append("svg:a").attr("target", "E2B").on("click", function(a){
if( a.url == null){} else {
window.open(a.url,'',"width=800,height=600")}
}).append("text").attr("x", function(a) {
return a.children || a._children ? -10 : 10;
}).attr("dy", ".35em").attr("text-anchor", function(a) {
return a.children || a._children ? "end" : "start";
}).text(function(a) {
return a.name;
}).style("fill-opacity", 1E-6);https://stackoverflow.com/questions/28817137
复制相似问题