2011-11-30 54 views
4

我已经能够让Highstock在一个示例html文件中工作,但在我正在处理的应用程序中,相同的Highstock代码加载部分方法,然后抛出一个错误: “elem.ownerDocument未定义”在jQuery 1.5.1的未分级代码(getComputedStyle函数)的第5950行左右。初始化Highstock.js在getComputedStyle中抛出jQuery错误

在一些控制台日志之后,我发现抛出错误的elem实际上是一个Highstock对象而不是DOM元素。

我还发现,运行简单示例页面时,有问题的jQuery函数甚至不会被调用。

我可能会错过什么?一些CSS疯狂?为什么它甚至会调用这个函数?

JS代码:

<script type="text/javascript"> 
var chart123; 
$(document).ready(function(){ 
    chart123 = new Highcharts.StockChart({ 
       chart: { 
        renderTo: 'chartcontainer' 
       }, 
       rangeSelector: { 
        selected: 1 
       }, 
       series: [{ 
        name: 'USD to EUR', 
        data: [[6000000, 2], [50000000, 5]] // predefined JavaScript array 
       }] 
      }); 
}); 
</script> 

HTML代码:

<div id="workspace-content"> 
    <div id="chartcontainer" style=" height: 400px"></div> 
</div> 

让我再次强调,完全相同的代码工作中使用相同的jQuery文件裸页。

回答

4

你在以前的应用程序中使用flot吗?

+0

是的,它做到了。 Flot被包括在杂草中。直到你提到它,甚至没有看到它。删除它使一切都像一个冠军!外卖:Flot在Highcharts/HighStock中表现不佳。 –

1

你救了我很多麻烦。我正在拉我的头发(不管它是什么),试图弄清楚这一点。和你一样,我不知道jquery.flot包含在应用程序中。 谢谢你一堆。

0

我们使用包含jquery-resize.js的Smartadmin。更改loopy()仅处理元素“if(elem.ownerDocument)”。这对于Highcharts或SVG项目是必需的。

这是针对不同根本原因的同一错误的另一个答案。我只将它放在这里,希望它可以节省时间调试。