0

Web ページにグラフを表示するために、JQuery (ASP.Net、C#、MVC) で HighCharts を使用しています。以下のコードを使用して、ページの読み込み時に最初にツールチップを表示しました。また、マウスがチャート領域の外に移動したときにツールチップと十字線を保持します。@jugal-thakkarによる回答に感謝

chart = new Highcharts.Chart({
... <my chart options go here>
...
});

...
chart.tooltip.refresh([chart.series[0].points[1]]);
chart.tooltip.hide = function () { };
chart.tooltip.hideCrosshairs = function () { };

以前の投稿Hereを参照すると、 IE8 ブラウザーで問題に直面しています。初めてページをロードしたときにツールチップ オブジェクトが見つかりません。次に、ページを更新した後、正常に動作し始めます。

ここにIE8の修正がありませんか?なぜ最初だけツールチップ オブジェクトが見つからないのか不思議です!

IE8 の F12 のコンソール ログは次のとおりです。

'tooltip' is null or not an object
4

1 に答える 1

2

ツールチップ オブジェクトは、document.onreadystatechangeが の状態で起動されるまでインスタンス化されませんcomplete

コードに以下を追加すると、ツールチップが作成されるまで、ツールチップの表示を遅らせる必要があります。

document.attachEvent('onreadystatechange', function () {
    if (document.readyState === 'complete') {
        chart.tooltip.refresh([chart.series[0].points[1]]);
        chart.tooltip.hide = function () { };
        chart.tooltip.hideCrosshairs = function () { };
    }
});
于 2012-09-17T01:03:17.643 に答える