如何在javascript中使用shift +点击?

时间:2014-12-10 14:39:19

标签: javascript d3.js

我有一个使用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,还有其他方法吗?

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你应该使用jQuery的.keydown()事件。它应该解决你的问题。

这是指向文档的链接: http://api.jquery.com/keydown/

希望它有用!