我有一个使用D3的力导向图,我可以使用点击按钮进行平移。 我想做的是按住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,还有其他方法吗?
我做错了什么?
答案 0 :(得分:1)