是否可以使用非鼠标、非触摸事件与 D3.js 图表进行交互?如果是这样,最有效的方法是什么?

2024-01-08

我没有使用鼠标,而是使用 Leap Motion。它是一种运动感应设备,允许使用手指、手和手势,而不是鼠标。

我有代码绘制用户手指与屏幕相交的点,因此用户的手指在网页上用蓝色圆圈表示(与此代码相同:http://schnipz.github.io/leap-motion-demos/d3.js/index.html http://schnipz.github.io/leap-motion-demos/d3.js/index.html).

我的网页上还有一个力导向图,与此示例相同:bl.ocks.org/mbostock/4062045

我想允许用户在手指(蓝色圆圈)与节点相交时“拖动”节点。

我能够让点击模拟代码正常工作,但是当我尝试使用 X 和 Y 位置时,例如......

function mouseSim(type, x, y)
{

    var simulatedEvent = document.createEvent("MouseEvent");
    simulatedEvent.initMouseEvent(type, true, true, window, 1,
            x, y,
            x, y, false,
            false, false, false, 0/*left*/, null);

    document.dispatchEvent(simulatedEvent);
    console.log(type + " at " + x + ", " + y);
}

我得到了所需的控制台输出,但没有与图表进行交互。

是否可以使用非鼠标、非触摸事件与 D3.js 图表进行交互?如果是这样,最有效的方法是什么?


是不是这么简单:

function mouseSim(type, x, y)
{

    var simulatedEvent = document.createEvent("MouseEvent");
    simulatedEvent.initMouseEvent(type, true, true, window, 1,
            x, y,
            x, y, false,
            false, false, false, 0/*left*/, null);

    document.dispatchEvent(simulatedEvent);
    console.log(type + " at " + x + ", " + y);

    doStuffInD3(x,y);
}

function doStuffInD3 (x,y) {
   force directed stuff dependent on x and y
}

在交互之后,您只是将 x 和 y 传递给力函数?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用非鼠标、非触摸事件与 D3.js 图表进行交互?如果是这样,最有效的方法是什么? 的相关文章

  • 如何在jsdoc上添加和使用标签?

    我正在尝试向 jsdoc 添加自定义标签 我在插件目录中创建了一个文件 如下所示 方法 js exports defineTags function dictionary dictionary defineTag methodHttp mu
  • 是否有相当于 jquery .load() 的原生 JavaScript

    与下面的 jquery 等效的本机 javascript 是什么 anyDiv load anyPage htm 就在这里 function load target url var r new XMLHttpRequest r open G
  • JavaScript 数组 every 和 some 之间的区别

    我看到在给定的测试中两者都返回 true 或 false https developer mozilla org en US docs Web JavaScript Reference Global Objects Array some h
  • 使用 ES6 `import` 语法时出现“无法解析符号”

    Here http www qimingweng com react modal dialog 给出了如何从模块导入某些类的示例 import ModalContainer ModalDialog from react modal dial
  • NodeJS 中的 uglify-js“找不到模块”

    在这里我正在创建应用程序来压缩 javascript 文件 我所做的步骤 在我的本地机器上安装了nodeJS 检查节点和 npm 正在工作 通过 npm install uglify js g 安装 uglify js 并安装 当我尝试在命
  • 如何调试requireJS模块定义的路径/文件

    我是 RequireJS 世界的新手 我越来越Load Timeout error对于我已经在主文件中定义的模块之一 我在 Chrome 的 网络 选项卡中没有看到任何请求 可能是因为 require 之前已经加载了该文件 我已经迷上了on
  • Facebook 分享不显示来自开放图元标签的图像

    我正在尝试将 Facebook 共享按钮集成到我雇主的网站 标题 网址 描述 简介均显示正确 但未附加任何图像 当共享对话框打开时 图像容器会闪烁 然后消失 就好像 facebook 正在尝试处理图像但失败一样 我正在使用 og image
  • 在 Javascript 中缓存和预取过期的 Promise

    Promise 是我在 Javascript 中管理异步代码的首选方式 Memoize npm 上的 memoizee 是一个 Javascript 库 用于轻松缓存和预取函数结果 理想情况下 我想结合两者的优点 并且能够使 Promise
  • 关闭模态后清除模态字段

    我有这个模式
  • jQuery 上下文菜单下拉菜单

    我正在使用这个 contextMenu 模板 http medialize github com jQuery contextMenu index html http medialize github com jQuery contextM
  • 如何在javascript中解压二进制文件?

    我正在尝试将一些现有代码从 python 移植到 javascript 并且不确定如何处理以下行 var1 var2 struct unpack
  • preg_match_all JS 等效吗?

    Javascript 中是否有与 PHP 的 preg match all 等效的函数 如果没有 将正则表达式的所有匹配项放入数组的最佳方法是什么 我愿意使用任何 JS 库来让它变得更容易 您可以使用match使用全局修饰符 gt gt g
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • 关闭弹出窗口后重新加载父页面

    我试图让用户通过弹出窗口登录 当他们单击弹出窗口的链接 这是一个 php 变量 时 他们可以登录 当窗口关闭时 我希望它重新加载他们最初所在的页面 父页面 这是signin php页面上的代码 但这所做的只是使登录页面成为用户所在的页面 我
  • 辅助功能:在密码输入中显示/隐藏密码按钮

    密码输入具有显示 隐藏按钮是很常见的 但我在网上发现很少有关于与其相关的可访问性问题的内容 我是否应该将任何类型的 ARIA 属性附加到按钮或密码输入 是一个复选框还是一个触发JS的按钮也能达到很好的效果 不知道我应该注意什么 作为一个不太
  • 将复杂对象传递给 ui-sref 参数

    我需要这样的构建网址 列表 过滤器 状态 1 过滤器 类型 2 I do link a List a 在参数中传递复杂对象 如果传递简单对象 filter 1 可以 但我需要这个 state state list url list filt
  • 允许调用函数覆盖默认选项 - jQuery UI 对话框

    我希望 CallingFunction 能够覆盖中提供的默认选项showDivPopUp功能 function calling showDivPopUp title of pop up box message to show buttons
  • 为什么直接访问对象文字上的属性会引发语法错误?

    当尝试访问该属性时a物体的 a 我收到错误 SyntaxError Unexpected token 有了括号一切都很好 a 为什么我首先会收到错误 有歧义吗 花括号被解释为块语句 http es5 github com x12 html
  • 删除已从另一个下拉菜单中选择的下拉值

    我在网上搜索了一段时间 但仍然找不到答案 我的网站上有三个下拉菜单 我使用它们来接受用户首选项 以便用户可以控制结果的输出 所以我想知道如果在其中一个下拉列表中选择了该值 是否可以从其他两个下拉列表中取出该值 例如 如果用户在第一个电影中选
  • Mongoose - 遍历对象

    在 node js 上使用 mongoose 我试图找到玩家 game players id 等于我传递的 id 的所有游戏 Schema var Game mongoose Schema id String date type Date

随机推荐