如何以编程方式触发 D3 拖动事件?

2023-12-23

所以我有一些与拖动事件侦听器绑定的数据:

myNodes.enter()
    .append("svg:g")
    .call(d3.behavior.drag()
        .on("drag", function() { 
            console.log(d3.event.dx, d3.event.dy);
        })
    );

现在我想以编程方式在某个节点上调用这个 onDrag 函数。我确实知道标准事件也可以通过这样做

aNode.on("click")() // works
aNode.on("drag")()  // doesn't work

有什么办法可以做到吗?谢谢。


将回调(传递到拖动处理程序的回调)保存在变量中,然后在其他上下文中调用该变量。

var dragCallback = function(){
    console.log(d3.event.dx, d3.event.dy);
};
var dragBehavior = d3.behavior.drag()
    .on("drag", dragCallback);
myNodes.enter()
    .append("g")
    .call(dragBehavior);
    //Call drag method programmatically
dragCallback()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式触发 D3 拖动事件? 的相关文章

随机推荐

  • C++ 中的 void 指针是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 什么是void指针 什么是空指针 https stackoverflow com questions 4334831 what is a void pointer and what is a null
  • “[本机代码]”是什么意思?

    我尝试研究 jQuery 代码 所以我使用了这个 document write constructor jsfiddle http jsfiddle net WZGWp 我得到这个结果 function Function native co
  • Pytest 和动态夹具模块

    我正在使用 pytest 为可以在本地和云中运行的软件编写功能测试 我想创建 2 个模块 每个模块具有相同的模块 夹具名称 并让 pytest 加载其中之一 具体取决于我是在本地还是在云中运行测试 fixtures fixtures ini
  • React-select isMulti 选择所有过滤选项

    我需要在多选中添加 全选 选项 如果至少有 1 个过滤选项 则应显示它 单击 全选 应该仅添加过滤后的选项 不一定是所有选项 到已选择的选项 Input is empty so all options are filtered 单击 全选
  • 如何在 EF Core 中插入外键影子属性?

    EF Core 允许我们省略外键属性 因为导航属性的存在足以建立两个实体之间的关系 然后 EF Core 将创建所谓的外键影子属性 https learn microsoft com en us ef core modeling shado
  • 使用ajax和codeigniter在引导模式中提交表单,无需更改页面

    我正在尝试使用 ajax 在引导模式中提交表单 而且我的表单提交成功 但是ajax内的success语句没有执行 该页面被重定向到一个空白页面 显示 msg ok 我正在粘贴控制器和视图中的代码 请帮忙 控制器 update profile
  • 正则表达式中 \b 和 \B 之间的区别

    我正在读一本关于正则表达式的书 我遇到了这个例子 b 猫把食物撒得满屋子都是 使用正则表达式 bcat b将匹配该词cat但不是cat in scattered For B作者使用了以下例子 请输入九位数的 ID 出现在您的彩色编码密码上
  • Python 3 - 无法使用 re 库进行打印

    我有这个代码 import requests from bs4 import BeautifulSoup import re url http www rockefeller edu research areas summary php i
  • Opengl Es如何用于gpgpu实现

    我想使用 Opengl Es 进行图像处理代码的 gpgpu 实现 我想知道我可以使用 Opengl Es 来实现此目的吗 如果可以的话 哪个版本的 Opengl Es 将更适合此目的 Opengl Es 1 1 或 2 0 OpenGL
  • 如何设置“内容编码”以启用 Webpack 服务器的 gzip 文件

    我使用创建了一个角度通用的应用程序Webpack服务器 我已经用过 压缩 webpack 插件 来压缩我的 js html 文件 以便我可以将它们从服务器提供给浏览器 压缩文件是通过该插件正确创建的 问题 虽然浏览器显示它可以接受 gzip
  • 盒子碰撞检测和弹跳

    我正在制作乒乓球 并且发现编写一个将球正确地从四堵墙上弹开的算法真的很困难 稍后我将处理得分问题 因为只有西边和东边的一部分会进球 所以现在我想让球在盒子周围弹跳 检测球是否撞到墙壁很容易 但我在计算新角度时遇到困难 这是我到目前为止所想出
  • tf.browser.fromPixels 仅返回零

    这里 tf browser fromPixels 返回一个只有零的张量 image data 包含预期值 不仅仅是零 tfjs 使用脚本标签加载 tfjs 1 0 0 但更改版本没有帮助 有什么问题吗 可能是一些愚蠢的事情 我是 Tenso
  • 如何在 NetBeans 的 Android 项目中使用外部 jar?

    我需要创建一个 Android 库 我可以将其作为 jar 包含在任何 Android 应用程序中 我使用 NetBeans 6 8 nbandroid 插件和 Android SDK 到目前为止我采取的步骤是 1 创建库项目 其中包含 a
  • 用于 mvc 的 html 编辑器的数据属性

    编辑器的数据属性不起作用 Html EditorFor model gt model SireTag new data typeahead dsfsdfsd 当我打开 Chrome 浏览器时 我看不到文本框的任何数据属性 我尝试凝视并没有发
  • 为什么我可以将并行流收集到任意大的数组,但不能收集顺序流?

    从回答这个问题 https stackoverflow com q 49760006 7294647 我遇到了一个奇怪的功能 以下代码按照我的预期工作 现有数组中的前两个值将被覆盖 Integer newArray Stream of 7
  • 我应该将 firebase api 密钥隐藏到后端吗?不是因为数据安全,而是项目克隆问题

    有人可以帮我解答 firebase 安全问题吗 这就是我试图弄清楚的 我知道要让客户端与我的 firebase 应用程序交互 需要配置和firebase initializeApp config 将公开 每个使用客户端的人都可以在浏览器开发
  • 在 JavaScript 中检查字符串相等性的正确方法是什么?

    在 JavaScript 中检查字符串之间是否相等的正确方法是什么 always 直到您完全理解使用的差异和含义 and 运营商 使用 运算符 因为它可以让您避免出现晦涩 不明显 的错误和WTF 常规 由于内部类型强制 运算符可能会产生非常
  • 实体框架加载具有排序顺序的子集合

    我有两张表 一张是父表 一张是子表 子表有一个列排序顺序 数值 由于 EF 缺少支持在不公开排序顺序的情况下保留包含排序顺序的 IList 请参阅 实体框架持久保留子集合排序顺序 https stackoverflow com q 4327
  • 在 API 中使用 Facebook 身份验证令牌

    我有一个 iOS 应用程序 用户在设备上通过 Facebook 进行身份验证 并与我的服务器 API 进行通信 验证 今天 我将发送 Facebook 用户访问令牌 通过 SSL 服务器会使用 Facebook 验证该令牌 这就是 API
  • 如何以编程方式触发 D3 拖动事件?

    所以我有一些与拖动事件侦听器绑定的数据 myNodes enter append svg g call d3 behavior drag on drag function console log d3 event dx d3 event d