-1

http://jsfiddle.net/CYJAk/13/

ご覧ください。ツールチップはまったく表示されません。ツールチップのdataFormatが他の関数によってオーバーライドされているかどうかはわかりません。また、ズームインしたときのx軸の日付に分が表示されないのですが、どうすればよいですか?

4

3 に答える 3

2

Firefox では、ツールチップ フォーマッタの JavaScript エラーが次のようになっていることがわかります。

Uncaught TypeError: Cannot read property 'name' of undefined

これはドキュメントに反しているようです(おそらく共有されていないためですか?)。私はそれを使用して見つける

this.points[0].series.name

これを修正します。これを機能させるには、 this.y を同様this.points[0].yのものに変更する必要があることに注意してください。

于 2011-11-30T19:17:59.440 に答える
1

まったく別の観点から言えば、Ultrabook で Chrome を使用している場合、ハイチャートのツールチップにも問題がありました。この問題は IE や FireFox では発生していませんでした。

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

問題は、Chrome が Ultrabook にタッチスクリーンがあることを認識し、タッチ イベントを有効にすることです。Highcharts (v2.2.5) は、タッチをサポートするデバイスの「mouseover」イベントを有効にしませんが、代わりに「touchstart」イベントを有効にします。マウスをアイコンの上に置いたときに「タッチスタート」が発生していなかったため、ツールチップは表示されませんでした。

これは、デバイスの種類に基づいてハンドラーを追加するハイチャートの行です。

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

したがって、これらのケースでは、'mouseover' ハンドラーを明示的に追加し、'touchstart' をトリガーすることがおそらく機能します。

Highcharts は ontouchstart の存在をチェックして、タッチ対応デバイスを判別します。

hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,
于 2014-07-18T17:34:06.210 に答える
0

これを試して:

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 を使用したことはありませんが、Markが言ったように、これはドキュメントに反します。バグのように見えます。

于 2011-11-30T19:31:16.400 に答える