2012-04-20 29 views
6

che sto cercando di implementare Highcharts panning basano su questo esempio: http://jsfiddle.net/HXUmK/5/Highcharts panning

ma voglio essere in grado di ingrandire con il tasto sinistro del mouse e la panoramica con il tasto destro del mouse. Così ho modificato il codice sopra e sono riuscito a farlo funzionare un po ', ma quando tengo premuto il tasto destro del mouse, anche i grafici zooma.

C'è un modo per disabilitare il tasto destro del mouse per lo zoom nei diagrammi elevati?

Modifica: Ci scusiamo per non essere molto chiari a riguardo. Il codice nel jsfiddle non è il mio codice. Dimentica quel codice, è solo un esempio di strega che ho iniziato. Sto cercando di modificare quel codice per ottenere lo zoom del pulsante sinistro e il tasto destro del mouse. Così ho disabilitato lo zoom rotellina del mouse e attivato lo standars Highcharts un ingrandimento

Edit2: Ecco il mio codice: http://jsfiddle.net/TKPQN/

+0

Utilizzando Mozilla 11 sia pan pulsante del mouse a destra ea sinistra, ma non diminuire. – dgw

+0

@dgw - usa la rotellina del mouse per ingrandire quel jsFiddle. – wergeld

+0

La rotellina del mouse per lo zoom funziona, (entrambi) i pulsanti del mouse scorrono. – dgw

risposta

0

I' Ho voluto usare la chiave Shift per lo zoom, quindi questa è la mia soluzione

$('#container').highcharts('StockChart', { 
    chart: { 
     //zoomType: 'x', // we declare it without zoom, so the pan is enabled 
     // ... 
    }}); 
    var chart = $('#container').highcharts(); 
    chart.pointer.cmd = chart.pointer.onContainerMouseDown; 
    chart.pointer.onContainerMouseDown = function (a){ 
     //in my case, I need only X zooming, so I enable it if shift is pressed 
     this.zoomX=this.zoomHor=this.hasZoom=a.shiftKey; 
     this.cmd(a); 
    }; 

sembra funzionare bene, quindi spero che ti aiutano

ecco un esempio di lavoro JSFiddle: http://jsfiddle.net/73bc23zq/

+0

Funziona alla grande! C'è anche un modo per impedire al suggerimento di saltare ai valori adiacenti durante la panoramica? – roldugin

3

Si può provare con l'evento di selezione:

chart: { 
     ... 
     events:{ 
      selection: function(event) { 
       if (lastButton == 1) 
        event.preventDefault(); 
      } 
     } 
    } 

Vedi http://jsfiddle.net/TKPQN/48/

+0

Ho usato questo metodo per ottenere il panning con il tasto destro del mouse (solo x direzione per la mia applicazione). Funziona piuttosto bene, ma mi piacerebbe sbarazzarmi del rettangolo che appare nel grafico quando si esegue lo zoom. Voglio averlo lì per lo zoom con il tasto sinistro del mouse, ma non per fare clic con il tasto destro del mouse. C'è qualcos'altro che posso fare all'interno del blocco precedente che disabilita anche questo rettangolo? –