2012-05-15 6 views
49

Necesito modificar el evento de clic en los elementos de la leyenda de los cuadros superiores. Demostración de Highcharts http://www.highcharts.com/demo/line-basic. Quiero por ejemplo: la primera acción será un poco de alerta y la segunda acción será la acción por defecto (limpie la línea de Tokio del gráfico). Gracias. Lo siento si la pregunta no está limpia.Cómo modificar el elemento de leyenda de Highcharts haga clic en evento?

+2

Highcharts tienen una gran documentación con ejemplos jsFiddle, estoy seguro de que u está buscando está ahí: http://www.highcharts.com/ ref/ –

+1

enlace actualizado como arriba ya no es funcional. http://api.highcharts.com/highcharts#plotOptions.column.events.legendItemClick –

Respuesta

66

usted tiene que utilizar la devolución de llamada legendItemClick como el siguiente código

plotOptions: { 
     line: { 

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

Aquí es working fiddle que muestra alerta cuando se hace clic en leyendas como en Tokio y luego ocultar línea de Tokio.

Consulte también plotOptions documentation para el evento en cuestión. Dónde debe ubicar esto puede variar según el tipo de gráfico que esté utilizando.

+0

Sí, esto es todo! Gracias por la respuesta precisa :) – alexche8

+11

Para deshabilitar las acciones de leyenda: 'legendItemClick: function (e) {e.preventDefault()}' –

+3

o simplemente devuelve falso, como señala Joy ... – Ryley

10

Para mí, el evento legendItemClick tenía que ser para la serie, no para la línea. Por ejemplo:

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

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

+0

Es cierto. ¡Parece que funciona solo de esta manera! – TrtG

Cuestiones relacionadas