在Javascripts D3中附加图像的另一种方法

在Javascripts D3中附加图像的另一种方法,javascript,jquery,html,d3.js,Javascript,Jquery,Html,D3.js,当前正在使用此选项附加图像: nodes.append("image") .attr("xlink:href", "./randomFile/randomImage") .attr("x", -12) .attr("y", -12) .attr("width", 50) .attr("height", 50) ; 注意到它使用了“xlink:href”。现在,除了在Firefox中,这一切都很好 我可以通过按住shift键并单击来选择节点。现在在

当前正在使用此选项附加图像:

nodes.append("image")
    .attr("xlink:href", "./randomFile/randomImage")
    .attr("x", -12)
    .attr("y", -12)
    .attr("width", 50)
    .attr("height", 50)
    ;
注意到它使用了“xlink:href”。现在,除了在Firefox中,这一切都很好

我可以通过按住shift键并单击来选择节点。现在在firefox中进行此操作时,由于html标记中有一个“href”,它会在一个新窗口中打开图像(如链接)

我这里有一把小提琴:

您注意到左移的图像+单击该图像不会打开新窗口,因为它有一个“src”而不是一个“href”

在D3中如何执行此操作

我尝试过改变这一点:

.attr("xlink:href", "./randomFile/randomImage")
为此:

.attr("src", "./randomFile/randomImage")
但根本不起作用


我希望图像不是链接,这样在按住shift键并单击图像时不会打开新窗口。

我可能误解了这个问题,您可以尝试将其包装在
a
标记中,并将
目标属性传递给它

nodes.append("image")
    .attr("href", "./randomFile/randomImage")
    .attr('target', '_blank')
    .attr("x", -12)
    .attr("y", -12)
    .attr("width", 50)
    .attr("height", 50)

这将打开任何单击的
a
,并将使用
href
作为新选项卡的内容

我不希望它打开任何内容。就像在小提琴中一样,我链接到了图像标签,它有一个“src”而不是一个“href”,当你按下shift键并单击图像时,它不会打开一个新窗口…啊,好的。我更明白你现在的意思。这样做的目的是在用户按下shift键时不打开图像,对吗?