Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3 v4-检测缩放区域中的点击坐标_Javascript_D3.js - Fatal编程技术网

Javascript D3 v4-检测缩放区域中的点击坐标

Javascript D3 v4-检测缩放区域中的点击坐标,javascript,d3.js,Javascript,D3.js,我将构建某种ui来管理d3版本4中块之间的依赖关系 我需要添加新元素onClick-它工作正常,但如果容器元素被放大/缩小-当然,单击的坐标是错误的 应该有定义良好的方法来实现这一点,但我找不到d3库版本4的示例。谢谢你的帮助 问题说明: 编辑: 解决方案: 提供的解决方案为了跟踪所有的缩放和平移,您可以创建一个对象 let zoomTrans = {x:0, y:0, scale:1}; 。。。您可以在缩放功能中对其进行更新: zoomTrans.x = d3.event.transfo

我将构建某种ui来管理d3版本4中块之间的依赖关系

我需要添加新元素onClick-它工作正常,但如果容器元素被放大/缩小-当然,单击的坐标是错误的

应该有定义良好的方法来实现这一点,但我找不到d3库版本4的示例。谢谢你的帮助

问题说明:

编辑:

解决方案:


提供的解决方案为了跟踪所有的缩放和平移,您可以创建一个对象

let zoomTrans = {x:0, y:0, scale:1};
。。。您可以在缩放功能中对其进行更新:

zoomTrans.x = d3.event.transform.x;
zoomTrans.y = d3.event.transform.y;
zoomTrans.scale = d3.event.transform.k;
然后,在单击函数中,使用以下数学公式:

let x = (d3.event.x - zoomTrans.x)/zoomTrans.scale;
let y = (d3.event.y - zoomTrans.y)/zoomTrans.scale;

这是最新的bl.ocks:

非常感谢。这正是我想要的。再次感谢你的明确回答。