我使用dotnet.highcharts在运行时创建图表:
我使用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>
答案 0 :(得分:0)
TestFunction
并不住在div
&#34;内。 JavaScript不以这种方式成为标记的一部分。
定义函数后:
function TestFunction() {
// code
}
从那时起它就可以作为window
对象的全局函数。因此,您可以从页面上的任何其他位置调用它:
TestFunction();
当然,如果div
以任何方式重复并且您在div
s内假设某种功能的命名空间,那么您&#39 ;发现在实践中并非如此。如果函数在文档中的任何位置全局定义 ,那么第二个定义将只覆盖第一个定义。