在IE8的下一行中找不到HighChart'toottip'对象

时间:2012-09-12 07:28:49

标签: jquery-ui highcharts

我正在使用带有JQuery的HighCharts(ASP.Net,C#,MVC)在我的网页上显示图表。我已经使用下面的代码在页面加载时最初显示工具提示。还可以在鼠标移出图表区域时保留工具提示和十字准线。感谢@ 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

1 个答案:

答案 0 :(得分: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 () { };
    }
});