1

我在网页上通过 highchart 创建了一个图表,可以单击该图表导航到我们网站上的不同页面。这是使用 Highchart 提供的点击事件处理的。此功能在 Chrome、FireFox、IE10 中运行良好。但是,对于 IE8,这是随机的。由于随机性,很难理解问题。

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

当我在 IE8 上使用“观察表达式”来检查发生了什么时,我可以看到当图表链接不起作用时,图表的许多属性都不可用(例如容器、chartBackground、hasRendered、图例等)。当链接工作时,所有这些以及更多内容都可用。我怀疑有些东西坏了,但不知道是什么。

有人可以指出为什么有时有这么多可用的房产,而有时却很少?需要调查的潜在原因是什么?

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

谢谢。

4

1 回答 1

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;
});
于 2013-09-19T08:59:56.770 回答