javascript - 将鼠标坐标发送到 d3 图表
问题描述
我有一个 d3 图表,我想将鼠标坐标从另一个图表发送到,
我在目标图表上远程触发鼠标事件。直到那里一切都很好。问题是在下面的代码中获取鼠标坐标。
$chart.on('mousemove', function () {
var mouse = d3.mouse(this);
鼠标值始终为 NaN。我怀疑是因为鼠标在另一个容器上。有没有办法在这里获取这些鼠标值?
解决方案
所以这个想法实际上是“如何从另一个容器触发一个容器的事件”。
- 容器 - 触发器
创建自定义 jquery func - jquery 运行良好,因为它是选择 html 元素的最简单方法。
$.fn.triggerSVGEvent = function(eventName, extraParameter) {
var event = document.createEvent('SVGEvents');
event.initEvent(eventName, true, true);
event.extraParameter = extraParameter; //this can be extended how you like
this[0].dispatchEvent(event);
return $(this);
};
然后从你想触发事件的地方,
var $el = $('#chart-two');
$el.triggerSVGEvent('mousemove', mouse);
//I am sending out mouse coordinates as that was my main challenge.
容器 - 接收器
var $el = $('#chart-two'); $el.on('mousemove', function() { var mouse = d3.event.extraParameter; }
非常感谢@thatOneGuy
推荐阅读
- c# - 在 EF Core 3.1 中定义可为空的拥有类型时,为什么会出现 NullReferenceException?
- android - h264 到 FLV 的转换,不明确的 FrameType 定义:关键帧与帧间的区别是什么?
- django - 使用 Django 模板并将其连接到数据库的最佳实践
- java - addPlugInSingleRowFunction 将 Esper 版本从 5.3 升级到 8.3 中的问题
- bash - 如何评估 docker-compose.yml 文件中的动态变量?
- php - 从具有正确标题行的数组中打印表格
- javascript - 图像上的响应式文本区域(引导程序)
- mysql - 我如何在 join 和 union 中使用 case?
- python - 有谁知道如何通过在 python 或 R 中使用 API 来获取 WASDE(世界农业供需估计)报告基本数据?
- pytorch - 如何在 LSTM 中初始化 h_n 和 h_c?