Highcharts Chart.container问题IE8

时间:2013-09-17 14:29:31

标签: javascript internet-explorer-8 highcharts

我在网页上创建了一个通过高图创建的图表,可以点击该图表导航到我们网站上的不同页面。这是使用Highchart提供的点击事件处理的。此功能适用于Chrome,FireFox和IE10。然而,随着IE8,这随机工作。由于随机性,很难理解问题。

作为替代解决方案,我在另一个div中包含了highchart div并在该div上添加了一个链接。如果我也设置了chart.container.onclick = null,则div上的链接会被正确触发,而不会干扰highcharts事件。但随机IE8抱怨图表容器未定义,我不明白为什么。

当我在IE8上使用'监视表达式'来检查发生了什么时,我可以看到当图表链接不起作用时图表的许多属性不可用(例如容器,chartBackground,hasRendered,图例等)。链接工作时,所有这些以及更多内容都可用。我怀疑有什么打破,但无法弄清楚是什么。

有人可以指出为什么有时会有这么多可用的属性而有时这么少?有哪些可能的原因需要调查?

我认为主要问题是理解为什么IE8会随机抱怨chart.container属性。

感谢。

1 个答案:

答案 0 :(得分:0)

您在获取图表对象之前访问变量图表。请改用回调函数:http://jsfiddle.net/88QCw/2/

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        events: {
            click: function() {
               location.href ="http://www.bing.com";    
            }
        }
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0]        
    }]
}, function (chart){    
    chart.container.onclick = null;
});