53

我需要修改 highcharts 图例项目的点击事件。Highcharts 演示 http://www.highcharts.com/demo/line-basic。我想要例如:第一个动作将是一些警报,第二个动作将是默认动作(从图表中清除东京线)。谢谢。对不起,如果问题不干净。

4

2 回答 2

70

您必须legendItemClick 像下面的代码一样使用回调

plotOptions: {
        line: {

           events: {
                legendItemClick: function () {
                   alert('I am an alert');
                   //return false; 
                   // <== returning false will cancel the default action
                    }
                }
            ,
            showInLegend: true
        }
    }

这是工作小提琴,当您单击东京之类的图例然后隐藏东京线时,它会显示警报。

另请参阅相关事件的plotOptions 文档。根据您使用的图表类型,您需要放置的位置可能会有所不同。

于 2012-05-15T16:39:11.457 回答
11

对我来说,legendItemClick 事件必须是针对系列的,而不是针对线的。例如:

plotOptions: {
        series: {
            events: {
                legendItemClick: function(event) {
                    var visibility = this.visible ? 'visible' : 'hidden';
                    if (!confirm('The series is currently '+ 
                                 visibility +'. Do you want to change that?')) {
                        return false;
                    }
                }
            }
        }
    },

来自 Highcharts 的示例:http: //jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-events-legenditemclick/

于 2014-07-29T00:00:08.323 回答