use*_*133 3 javascript jquery highcharts
我有一个饼图,其中一个点有钻取,其他点没有.当我使用plotOptions.series.point.events.click检测到单击并尝试返回单击点的名称时,它适用于除了具有向下钻取的点之外的每个点.
如果我做:
plotOptions: {
series: {
point: {
events: {
click: function(e) {
console.log(this.name);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,除了具有向下钻取的点之外,每个点都会显示正确的名称,这将返回一个空点.这可能是因为图表首先通过向下钻取更新,并且在事件回调发生时该点不再存在.我怎样才能使点击时常规点和钻取点都能正常返回?
我添加了一个JSFiddle来说明我的观点:http: //jsfiddle.net/Pq6gb/2/ 我刚刚从Highcharts演示页面中获取了一个饼形钻取示例,并且使得Firefox没有进行深入研究.请注意,在浏览器的控制台中,当我单击Firefox时,会显示名称.单击任何其他切片时,显示的名称为空.
现在在drilldown.src.js的当前开发版本中修复了这个问题:http://jsfiddle.net/highcharts/Pq6gb/3/
point: {
events: {
click: function(e) {
console.log(e.type, this.name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然不理想,但这会给你一些常规和深入的事件:
chart: {
...,
events: {
drilldown: function (e) {
console.log(e.point); // The point, with name, that was clicked
}
}
}
Run Code Online (Sandbox Code Playgroud)
除了您自己的代码,这将触发一个常规点(您自己的代码)事件和两个钻取点事件.然后,您就可以签name == null
入 series.point.events.click
并忽略它,并在chart.events.drilldown
(API参考)中处理它.
归档时间: |
|
查看次数: |
4559 次 |
最近记录: |