d3 通过单击 ctrl 和鼠标滚轮缩放,禁用 browserzoom

d3 zooming by click ctrl and mousewheel, disable browserzoom

我想通过单击 ctrl 和鼠标滚轮来缩放 dagre-d3 图。如果我不按 ctrl,我希望浏览器滚动处于活动状态。当我想平移图形时,它应该可以在不单击 ctrl 的情况下工作。可能吗?我做了一个 fiddle 但它不起作用。

var zoom = d3.behavior.zoom().on("zoom", function () {
if(ctrlPressed == true){
inner.attr("transform", "translate(" + d3.event.translate + ")" +
    "scale(" + d3.event.scale + ")");
    }
});
svg.call(zoom);

jsfiddle

终于成功了。 但是缩放不像正常的 d3 缩放行为,因为它不会缩放到中心。

see Code in fiddle

Working fiddle