检测点击位置
Detecting click location
我试图在 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"});
};
简单的取目标点击元素的坐标。显然,这似乎是顶角。有没有人能想到获取实际点击位置的方法?
我有一个演示 fiddle 在这里分叉了他们的一个示例:http://jsfiddle.net/IPWright83/ho2euurh/2/
.attr("transform", "translate("+ [p.jQueryEvent.pageX, p.jQueryEvent.pageY] +")")
这为您提供了点击位置的坐标。
我试图在 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"});
};
简单的取目标点击元素的坐标。显然,这似乎是顶角。有没有人能想到获取实际点击位置的方法?
我有一个演示 fiddle 在这里分叉了他们的一个示例:http://jsfiddle.net/IPWright83/ho2euurh/2/
.attr("transform", "translate("+ [p.jQueryEvent.pageX, p.jQueryEvent.pageY] +")")
这为您提供了点击位置的坐标。