Pregunta

http://jsfiddle.net/cyjak/13/

Eche un vistazo, la información sobre herramientas no se muestra en absoluto. No sé si ToolTip DataFormat está siendo excesivo por alguna otra función. Y también la fecha en el eje X cuando se acerca no muestra minutos, ¿qué debo hacer por eso?

¿Fue útil?

Solución

En Firefox, puedo ver que su error de JavaScript en su formateador de información sobre herramientas es:

Uncaught TypeError: Cannot read property 'name' of undefined

Esto parece contrario al documentos (¿Quizás porque no está compartido?). Encuentro que usando

this.points[0].series.name

soluciona esto. Tenga en cuenta que también tendrá que cambiar su esto. this.points[0].y para que eso funcione.

Otros consejos

Desde una perspectiva completamente diferente: también estaba teniendo problemas con las tierras de alta calidad utilizando Chrome en mi Ultrabook. Este problema no estaba ocurriendo en IE o Firefox.

No estaba usando series compartidas, por lo que la solución anterior no se aplicó.

Resulta que el problema es que Chrome reconoce que Ultrabook tiene una pantalla táctil y permite los eventos táctiles. HighCharts (v2.2.5) no habilita el evento 'Mouseover' para dispositivos que admiten Touch, sino que habilita el evento 'TouchStart'. Como el 'touchstart' no ocurría cuando mi mouse se cernía sobre el icono, la información sobre herramientas nunca apareció.

Esta es la línea en HighCharts que agrega el controlador en función del tipo de dispositivo:

.on(hasTouch ? 'touchstart' : 'mouseover', function (e) {
    series.onMouseOver();
    if (e.target._i !== UNDEFINED) { // undefined on graph in scatterchart
        points[e.target._i].onMouseOver();
    }
})

Por lo tanto, probablemente funcionaría para agregar explícitamente un controlador de 'Mouseover' y activar un 'touchstart' en estos casos.

HighCharts verifica la existencia de OnTouchStart para determinar dispositivos táctiles:

hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,

Prueba esto:

formatter: function() {
    var point = this.points[0],
        x = point.x,
        y = point.y,
        seriesName = point.series.name;

    return Highcharts.dateFormat('%A,%b %e,%Y, %H:%M', x) +'<br/> '+'<strong>'+ seriesName +'</strong>'+ y;
}

He estado usando mucho Highcharts pero nunca he usado Highstock pero como Marca Dijo que esto va en contra de los documentos. Parece un error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top