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

看看它,工具提示根本没有显示。我不知道工具提示dataformat被某些其他功能过度覆盖。而且,放大时X轴的日期没有显示分钟,我该怎么办?

有帮助吗?

解决方案

在Firefox下,我可以看到您的工具提示格式中的JavaScript错误是:

Uncaught TypeError: Cannot read property 'name' of undefined

这似乎与 文档 (也许是因为它没有共享?)。我发现使用

this.points[0].series.name

修复此。请注意,您还必须将其更改为类似的东西 this.points[0].y 为此工作。

其他提示

从完全不同的角度来看 - 我的Ultrabook上使用Chrome的Highcharts工具提示遇到问题。 IE或Firefox中没有发生这个问题。

我没有使用共享系列,因此上述解决方案不适用。

事实证明,问题是Chrome识别超级本具有触摸屏,并实现触摸事件。 HighCharts(v2.2.5)不能为支持触摸的设备启用“鼠标”事件,而是启用“ touchstart”事件。由于当我的鼠标徘徊在图标上时,“触点”没有发生,因此工具提示从未出现。

这是HighCharts中的行,它基于设备类型添加处理程序:

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

因此,在这些情况下,它可能会显式添加一个“鼠标”处理程序并触发“触点”。

HighCharts检查是否存在OnTouchStart,以确定启用触摸的设备:

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

尝试这个:

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

我经常使用Highcharts,但从未使用过Highstock,但是 标记 说这与文档有关。看起来像个错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top