gpt4 book ai didi

javascript - 如何使用 d3js 捕获 ctrl + 单击 MacOS

转载 作者:行者123 更新时间:2023-12-01 16:34:22 28 4
gpt4 key购买 nike

我收到报告说我的脚本应该在 ctrl + click 上触发在 Mac 上不起作用。

如“Determine if Shift key is pressed during mousedown event”中所示,我们可以确定在鼠标单击测试期间是否按下了修饰键 d3.event.shiftKey , d3.event.ctrlKeyshift除了 ctrl 之外,检测无处不在似乎不适用于 MacOS。

d3.select(window).on("click", function() {
if (d3.event.ctrlKey) {
alert("Mouse + Ctrl pressed");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>


我没有 Mac,但我使用 BrowserStack 测试了上面的脚本:
  • 带有 Safari 7.1、Firefox 54 和 Chrome 60 的 Mavericks;
  • Sierra 与 Safari 10.1、Firefox 54 和 Chrome 60

  • 它不适用于 Mac 上的任何浏览器。它在 Windows 和 Linux 上运行良好。

    我做错了什么? ctrl 键是 Mac 操作系统上的某种特殊键吗(我想它是因为 Mac 也有“命令”键)。正在使用 ctrl + click不鼓励 Mac OS 兼容性?

    编辑:我找到了这个:“ any way to detect ctrl + click in javascript for osx browsers? no jQuery”。我的问题仍然存在,因为使用 d3.js 框架我希望有一种方法可以使用 d3.event 以跨浏览器兼容的方式执行此操作.

    最佳答案

    您可以通过以下方式进行检查:

    if (d3.event.ctrlKey || d3.event.metaKey) {
    alert("Mouse + Ctrl pressed (or command key for Mac users)");
    }

    关于javascript - 如何使用 d3js 捕获 ctrl + 单击 MacOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45438932/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com