使用共享工具提示时,Highcharts柱形图返回错误的系列索引

时间:2015-03-22 08:08:46

标签: javascript highcharts

这是我的代码:

$(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的错误吗?如何使用共享列获取正确的列索引?

1 个答案:

答案 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);
                 }
             }
         }
     }
}