3

DevExtreme当在图表中单击一个点时,我试图显示一些东西(最终是一个菜单) 。为了简单起见,我开始使用条形图。

我想要做的是,当用户单击一个栏以在该特定点显示 DOM 中的其他内容时。我已经尝试进行设置并完成了大部分工作,但我不确定如何解决的问题是关于坐标的。

在此处输入图像描述

上面的示例显示了我单击的位置,以及显示在栏顶部的红色圆圈。添加它的代码非常简单:

var clicked = function(p) {
 var element = p.element[0];
 var group = d3.select(element)
             .select("svg")
               .append("g")
               .attr("transform", "translate("+ [p.target.x, p.target.y] +")")
               .append("circle")
               .attr({ cx : 0, cy: 0, r: 10, class: "circle"});
};

只需获取目标单击元素的坐标即可。显然,这似乎是顶角。有什么方法可以让任何人想到获取实际点击的位置?

我在这里有一个演示小提琴从他们的一个例子中分叉出来:http: //jsfiddle.net/IPWright83/ho2euurh/2/

4

1 回答 1

5

试试这个小提琴

  .attr("transform", "translate("+ [p.jQueryEvent.pageX, p.jQueryEvent.pageY] +")")

这为您提供了单击位置的坐标。

于 2015-05-01T14:00:17.937 回答