javascript - 如何在Java中使用shift +单击?

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

我究竟做错了什么 ?


最佳答案:

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

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

希望对您有所帮助!

译文:来源   文章分类: javascript d3.js

相关文章:

javascript - 从phantomjs控制异步退出

javascript - JavaScript是否等同于Python的导入? [重复]

javascript - 为什么用非空对象调用Meteor.method时服务器会得到一个空对象?

javascript - 自动执行匿名JavaScript函数的括号位置?

php - 如何使用js和php创建跟踪脚本?

php - 从外部服务器使用Javascript连接到PHP MySQL

javascript - 将当前时间作为PT08H10M00S

javascript - 脚本在localhost中不起作用

javascript - 使用Node.js中的xmldom.XMLSerializer获取小写标签名称

javascript - 鼠标悬停时突出显示文本行[重复]