我有一个使用 D3 的力导向图,我可以使用单击按钮进行平移。 我想做的是按住 Shift 键并单击以执行此操作。
现在我有了这段代码:
这是在我单击鼠标时查看是否单击了 shift 按钮:
.on("click", function() {
if (d3.event.shiftKey) {
console.log("Mouse+Shift pressed");
svg.append('svg:rect')
.call(zoom);
}
})
缩放功能:
var minZoom = 0.2,
maxZoom = 2;
var zoom = d3.behavior.zoom()
.on("zoom", redraw)
.scaleExtent([minZoom, maxZoom])//-call zoom but put scale extent on to limit zoom in/out
;
进行平移和缩放的重绘函数:
function redraw() {
inner.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
}
现在,这种作品。我已经将控制台登录到调试它,发生的事情是,当我按下 shift 键并单击鼠标时,“console.log 字符串”只有在我松开鼠标按钮时才会打印出来。
但我希望它在按下鼠标按钮时工作。我试过 mousedown、mouseover 和 click,还有其他方法吗?
我做错了什么?
最佳答案
关于javascript - 如何在javascript中使用shift + click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403744/