HighCharts点击图例仍高亮柱形:如何禁用所有图例点击交互?
禁用Highcharts图例点击的所有交互操作
我已经通过以下代码禁用了图例点击时的柱形显示/隐藏动画:
现有实现代码
Web 端
events: { legendItemClick: function(){return false} }
Android 端(基于Highcharts Android库)
events = HIEvents().apply { legendItemClick = HIFunction("function() { return false; }") }
但当前仍存在问题:点击图例项时,对应系列的柱形会高亮,其余系列柱形变暗,效果如图:
完整解决方案
要彻底禁用图例点击的所有交互行为,除了保留上述legendItemClick的设置,还需额外配置禁用图例触发的系列 inactive 效果:
Web 端调整后代码
Highcharts.chart('container', { legend: { // 关闭点击图例时其他系列变暗的行为 inactiveOtherPoints: false }, plotOptions: { series: { events: { legendItemClick: function() { return false; // 禁用系列显示/隐藏切换 } }, // 额外禁用系列的inactive状态(双重保险) states: { inactive: { enabled: false } } } }, // 你的图表其他配置项... });
Android 端调整后代码
val chartOptions = HIChartOptions().apply { legend = HILegend().apply { inactiveOtherPoints = false // 关闭其他系列变暗效果 } plotOptions = HIPlotOptions().apply { series = HISeries().apply { events = HIEvents().apply { legendItemClick = HIFunction("function() { return false; }") } states = HIStates().apply { inactive = HIInactive().apply { enabled = false // 禁用系列的inactive状态 } } } } // 你的图表其他配置项... }
通过以上配置,即可完全禁用图例点击时的所有交互操作,包括显示/隐藏切换和系列高亮变暗的效果。
内容的提问来源于stack exchange,提问作者No_Name
相关产品推荐
相关产品推荐

