2011-11-30 57 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項目是必需的。

這是針對不同根本原因的同一錯誤的另一個答案。我只將它放在這裏,希望它可以節省時間調試。