web-dev-qa-db-ja.com

ハイチャートの凡例アイテムのクリックイベントを変更する方法

ハイチャートの凡例アイテムのクリックイベントを変更する必要があります。 Highchartsデモ http://www.highcharts.com/demo/line-basic たとえば、最初のアクションは何らかのアラートになり、2番目のアクションはデフォルトのアクションになります(チャートから東京の線をきれいにする)。ありがとう。質問がきれいでない場合は申し訳ありません。

53
alexche8

次のコードのようにlegendItemClickコールバックを使用する必要があります

plotOptions: {
        line: {

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

ここに working fiddle があります。これは、東京のような凡例をクリックして、東京の行を非表示にすると警告を表示します。

問題のイベントについては plotOptions documentation も参照してください。これを配置する必要がある場所は、使用しているグラフの種類によって異なる場合があります。

69

私にとって、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/

10
Tony