我收到一份报告,说明ctrl + click
上应该触发的脚本在Mac上无效。
如“Determine if Shift key is pressed during mousedown event”中所示,我们可以确定在鼠标点击测试d3.event.shiftKey
,d3.event.ctrlKey
等过程中是否按下了修改键。shift
检测功能无处不在,但{ {1}}似乎无法在MacOS上运行。
ctrl
d3.select(window).on("click", function() {
if (d3.event.ctrlKey) {
alert("Mouse + Ctrl pressed");
}
});
我没有Mac,但我使用BrowserStack测试了上面的脚本:
它无法与Mac上的任何浏览器一起使用。它可以在Windows和Linux上正常工作。
我做错了什么? ctrl键是Mac OS上的某种特殊键(我想它是因为Mac也有'命令'键)。是否阻止使用<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
兼容Mac OS?
编辑:我找到了这个:“any way to detect ctrl + click in javascript for osx browsers? no jQuery”。我的问题仍然存在,因为使用d3.js框架我希望有一种方法可以使用ctrl + click
以跨浏览器兼容的方式执行此操作。
答案 0 :(得分:0)
您可以通过以下方式检查:
if (d3.event.ctrlKey || d3.event.metaKey) {
alert("Mouse + Ctrl pressed (or command key for Mac users)");
}