检测mousedown事件期间Shift键是否被按下

22

在mousedown事件的d3.event中有没有办法确定Shift键是否被按下?如果可以,能否向我展示一种方法来实现这个功能。我尝试在API中寻找相关内容,但没有找到有用的信息。


1
我对d3没有经验,但是你可以监听键盘事件,每当按下shift时开始监听鼠标事件。 - A.M.K
你是否使用了其他的库? - A.M.K
目前我只是在使用d3.js。 - Cristian G
请看我的下面回答。我之前错误地使用了 function(e),在 d3 中你不能这样做。 - A.M.K
2个回答

33

你应该可以使用类似这样的代码:

d3.select(window).on("click", function() {
    if (d3.event.shiftKey) {
        alert("Mouse+Shift pressed");
    }
});

演示: http://jsfiddle.net/SO_AMK/NTGKG/1/


2
也许需要使用以下方法:
if (d3.event.sourceEvent.shiftKey) {
  console.log("shift pressed");
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接