我在网页上创建了一个通过高图创建的图表,可以点击该图表导航到我们网站上的不同页面。这是使用Highchart提供的点击事件处理的。此功能适用于Chrome,FireFox和IE10。然而,随着IE8,这随机工作。由于随机性,很难理解问题。
作为替代解决方案,我在另一个div中包含了highchart div并在该div上添加了一个链接。如果我也设置了chart.container.onclick = null,则div上的链接会被正确触发,而不会干扰highcharts事件。但随机IE8抱怨图表容器未定义,我不明白为什么。
当我在IE8上使用'监视表达式'来检查发生了什么时,我可以看到当图表链接不起作用时图表的许多属性不可用(例如容器,chartBackground,hasRendered,图例等)。链接工作时,所有这些以及更多内容都可用。我怀疑有什么打破,但无法弄清楚是什么。
有人可以指出为什么有时会有这么多可用的属性而有时这么少?有哪些可能的原因需要调查?
我认为主要问题是理解为什么IE8会随机抱怨chart.container属性。
感谢。
答案 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;
});