有人知道为什么这两个摘要根本不一样吗?
在第一个代码段中,我在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的调用?
附言:顺便说一句,在调试器中查看myChart.options.plotOptions.series.events.legendItemClick时,我看到了完全相同的两个片段:
最佳答案
请注意,第二个功能不执行任何操作。默认功能正在触发。
如果要自定义默认功能,则应考虑使用Event.preventDefault
关于javascript - 这两个HighCharts代码为什么不相等? (或者是否可以在创建图表对象之后修改对legendItemClick的调用?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58997991/