質問

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

それを見てください、ツールチップはまったく表示されません。 Tooltip DataFormatが他の機能によって過剰に装備されている場合、私はDONNOです。また、ズームインしたときのx軸の日付は数分を表示しない場合、そのために何をすべきですか?

役に立ちましたか?

解決

Firefoxの下で、Tooltip FormationのJavaScriptエラーが次のとおりです。

Uncaught TypeError: Cannot read property 'name' of undefined

これはに反しているようです ドキュメント (おそらく共有されていないからですか?)。使っていると思います

this.points[0].series.name

これを修正します。また、これを変更する必要があります。 this.points[0].y それが機能するために。

他のヒント

まったく異なる視点から - 私はまた、UltrabookでChromeを使用してHighChartsのツールチップに問題がありました。この問題は、IEまたはFirefoxで発生していませんでした。

私は共有シリーズを使用していなかったので、上記のソリューションは適用されませんでした。

問題は、ChromeがUltrabookにタッチスクリーンがあることを認識し、タッチイベントを有効にすることです。 HighCharts(v2.2.5)は、タッチをサポートするデバイスの「マウスオーバー」イベントを有効にするのではなく、「TouchStart」イベントを有効にします。マウスがアイコンの上にホバリングしたときに「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();
    }
})

したがって、おそらく「マウスオーバー」ハンドラーを明示的に追加し、これらの場合に「TouchStart」をトリガーすることができます。

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