这是我的代码:
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
tooltip: {
shared: true
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
alert("column index: " + this.series.columnIndex);
}
}
}
}
},
series: [{
name: 'Tokyo',
data: [216.4, 194.1]
}, {
name: 'New York',
data: [91.2, 83.5]
}, {
name: 'London',
data: [52.4, 65.2]
}, {
name: 'Berlin',
data: [47.6, 39.1]
}]
});
});
这是小提琴:http://jsfiddle.net/a9mp9vhj/1/
单击第一列的顶部,您将看到以下消息:"列索引:0"哪个是对的。单击第一列的中间或底部,您将看到其他的空白。
如果您将工具提示设置为不共享,则一切都会开始工作。
是Highcharts的错误吗?如何使用共享列获取正确的列索引?
答案 0 :(得分:2)
看起来Highcharts似乎没有考虑点击的x值,只看你点击位置的y值(如果点击&#34,你可以获得每个索引) ;纠正"身高)。
似乎event.target.point
是正确的,而event.point
(或this
)则不正确。如何使用此解决方法获取正确的columnIndex
作为Highcharts目前正在运行的示例(JSFiddle example):
plotOptions: {
series: {
point: {
events: {
click: function(event) {
alert("column index: " + event.target.point.series.columnIndex);
}
}
}
}
}