有人知道为什么这两个摘要根本不一样吗?
在第一个代码段中,我在JSON中声明了一个函数:
plotOptions : {
series : {
events: {
legendItemClick: function () {
var visibility = this.visible ? 'visible' : 'hidden';
if (this.visible) {
this.chart.container.style.height = '100px';
this.chart.reflow();
}
else {
this.chart.container.style.height = '400px';
this.chart.reflow();
}
//this.chart.collapse();
}
}
}
},
在此处查看代码段:first snippet on jsfiddle
N.B .:如果您将文件内容保存在硬盘上,则在chrome上效果更好。
如果单击图例,您将看到它会折叠图形(称为函数)。在第二个片段中,我稍后在以下位置声明该函数:
plotOptions : {
series : {
events: {
}
}
},
…
myChart.options.plotOptions.series.events.legendItemClick = function () {
var visibility = this.visible ? 'visible' : 'hidden';
if (this.visible) {
this.chart.container.style.height = '100px';
this.chart.reflow();
}
else {
this.chart.container.style.height = '400px';
this.chart.reflow();
}
//this.chart.collapse();
};
请参见此处的代码段:second snippet on jsfiddle
在这种情况下,如果单击图例,将不会调用该函数,并且图形也不会折叠。
我猜答案在highcharts.js中的某个地方,但是在哪里?在查看Highcharts.Legend API文档时,我看不到该怎么办:https://api.highcharts.com/class-reference/Highcharts.Legend#toc0
创建图表对象后,是否可以修改对legendItemClick的调用?
p.s .:顺便说一下,在调试器中查看myChart.options.plotOptions.series.events.legendItemClick时,我看到的是完全相同的两段代码: