柱形图:单击事件仅在钻取系列上触发

时间:2015-05-15 12:08:12

标签: javascript jquery highcharts

我正在制作2级柱形图。我想执行一项任务,例如仅在点击系列上点击图表上的每个栏时显示警报。我发现了这个:

plotOptions: {
    series: {
        cursor: 'pointer',
        point: {
            events: {
                click: function () {
                    alert('Category: ' + this.category + ', value: ' + this.y);
                }
            }
        }
    }
}

它工作正常,但它也为父系列启动。我们是否可以强制此点击事件仅适用于二级系列(在下钻后显示)?

1 个答案:

答案 0 :(得分:1)

因为this事件的click值是一个没有值的对象,如果单击父级,您可以检查x值(或类似值)看看它是否是被毁坏的父母,或者你是否点击了当前可用的点。确保它是您知道自己的观点所具有的价值。

例如(JSFiddle):

var UNDEFINED;

$('#container').highcharts({
    plotOptions: {
        series: {
            point: {
                events: {
                    click: function() {
                        if(this.x != UNDEFINED)
                            alert("It's alive!");
                    }
                }
            }
        }
    }
    // ...
});

如果它仅涉及特定系列,您还可以考虑将事件代码添加到这些特定系列,而不是为所有系列执行此通用代码。