2012-05-15 13 views
49

Devo modificare l'evento di clic sugli elementi delle legende dei grafici ad alta risoluzione. Demo Highcharts http://www.highcharts.com/demo/line-basic. Voglio ad esempio: la prima azione sarà un po 'di allerta e la seconda azione sarà un'azione di default (pulire la linea di Tokyo dalla tabella). Grazie. Scusa se la domanda non è pulita.Come modificare l'evento click item della legenda di highcharts?

+2

Highcharts hanno una grande documentazione con esempi jsfiddle, sono sicuro che u si sta cercando è lì: http://www.highcharts.com/ ref/ –

+1

il collegamento aggiornato come sopra non è più funzionante. http://api.highcharts.com/highcharts#plotOptions.column.events.legendItemClick –

risposta

66

Devi usare il legendItemClick callback come il seguente codice

plotOptions: { 
     line: { 

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

Ecco working fiddle che mostra di avviso quando si fa clic su leggende come su Tokyo e poi nascondere la linea di Tokyo.

Vedere anche lo plotOptions documentation per l'evento in questione. Dove è necessario posizionarlo può variare a seconda del tipo di grafico che si sta utilizzando.

+0

Sì, questo !! Grazie per la risposta esatta :) – alexche8

+11

Per disabilitare le azioni della legenda: 'legendItemClick: function (e) {e.preventDefault()}' –

+3

o semplicemente restituisce false, come indica Joy ... – Ryley

10

Per me, la leggendaItemClick doveva essere per la serie, non per la linea. Ad esempio:

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; 
        } 
       } 
      } 
     } 
    }, 

Esempio da Highcharts: http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-events-legenditemclick/

+0

Vero. Sembra funzionare solo in questo modo! – TrtG

Problemi correlati