0
:加入,我使用dotnet.highcharts在運行時創建圖表致電運行javascript函數從內部的innerHTML
我使用Ajax調用的接收格式的HTML結果。這是我得到的結果:
<div id='bbb55283bfc3440a96c7ae26e130173f_container'></div><script type='text/javascript'>
var bbb55283bfc3440a96c7ae26e130173f;
function TestFunction() {
bbb55283bfc3440a96c7ae26e130173f = new Highcharts.Chart({
chart: { renderTo:'bbb55283bfc3440a96c7ae26e130173f_container', defaultSeriesType: 'line' },
title: { text: 'Test' },
xAxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] },
series: [{ data: [12, 23, 1, 9, 34, 54] }]
});
}
</script>
現在我把這個div元素中(其中數據是上面的代碼中):
$(myDiv).innerHtml = data;
接下來,我需要調用的函數TestFunction()
我該怎麼做?它生活裏面myDiv這樣的:
<div id="chartContainer" style="float:left">
<div id="bbb55283bfc3440a96c7ae26e130173f_container"></div>
<script type="text/javascript">
var bbb55283bfc3440a96c7ae26e130173f;
function TestFunction() {
bbb55283bfc3440a96c7ae26e130173f = new Highcharts.Chart({
chart: { renderTo: 'bbb55283bfc3440a96c7ae26e130173f_container', defaultSeriesType: 'line' },
title: { text: 'Test' },
xAxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] },
series: [{ data: [12, 23, 1, 9, 34, 54] }]
});
}
</script>
但爲什麼我無法調用TestFunction()?當我嘗試從控制檯調用它時,我得到「Uncaught ReferenceError:TestFunction is not defined」 – buddybubble 2014-09-24 13:56:55
@buddybubble:您不提供任何關於該問題的信息,所以我只能猜測。看起來很清楚,當你試圖調用它時,函數*還沒有被定義。也許我誤解了,AJAX調用返回的* JavaScript代碼本身*這肯定會引起一些有趣的場景,特別是如果有多個場景的話。但是評估由AJAX返回的JavaScript可能需要一點點詭計。例如:http://stackoverflow.com/questions/8097558/proper-way-to-execute-javascript-returned-via-ajax-no-jquery – David 2014-09-24 14:01:19
我的情況似乎幾乎與你鏈接的一樣。就像我說的,由於ajax調用,我得到了html和js的混合,請參閱我的第一個代碼片段。我正在把這個innerHtml放在div裏面。然後我想調用我剛插入到div – buddybubble 2014-09-24 14:04:57