我需要设置plotOptions - >事件 - > legendItemClick但手动点击按钮。
我虽然会像chart.plotOptions.events.legendItemClick = function(){...};但这显然不是解决方案。
我甚至不确定这是否可行,我只能在图表创建上实现它。
对此的任何指导都非常感谢。感谢。
通过创作在高级图表中设置:
plotOptions: {
series: {
events: {
legendItemClick: function() {
// Do something
}
}
}
}
我想做什么......(创作后)
var chart = $('#container').highcharts(); // Get the highcharts
// This doesn't work
chart.plotOptions.series.legendItemClick = function() { // Set the legendItemClick
// Do something
}
答案 0 :(得分:4)
我们这样做,但在legendItemClick
内。这项工作对我们来说只有2个州。第一个是初始加载,我们让图表使用默认图例点击操作构建(所有系列都可见,单击图例中的系列隐藏该系列,再次单击该系列显示它)。另一种状态是用户在ddl中选择了一个显示选项,删除除一个系列之外的所有选项,然后用户可以单击一个图例项目,仅显示该项目。我们这样做:
function(event) {
var e = document.getElementById('" & gModeElementId & "');
var strGraphMode = e.options[e.selectedIndex].value;
if (strGraphMode == 'single') {
var seriesIndex = this.index;
var serie = this.chart.series;
for (i = 0; i < serie.length; i++) {
if (serie[i].index == seriesIndex) {
serie[i].show();
var ctitle = this.chart.yAxis[0].axisTitle;
ctitle.attr({text: serie[i].name});
} else {
serie[i].hide();
}
}
return false;
}
}
我们还没有找到实际修改现有legendItemClick
函数的方法。