Я использую 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>
Теперь я ставлю это внутри сНу элемента (где данные выше фрагмент кода):
$(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 не определено», когда я пытаюсь вызвать его с консоли – buddybubble
@buddybubble: вы не предоставляете никакой информации об этом в вопросе, поэтому я могу только догадываться. Казалось бы, ясно, что когда вы пытаетесь назвать это, функция * не была определена. Возможно, я неправильно понял, что сам код JavaScript * возвращается при вызове AJAX? Это определенно вызовет некоторые интересные сценарии, особенно если их несколько. Но оценка JavaScript, возвращаемая AJAX, может потребовать немного обмана. Например: http://stackoverflow.com/questions/8097558/proper-way-to-execute-javascript-returned-via-ajax-no-jquery – David
Мое дело похоже на то, что вы связали. Как я уже сказал, я получаю смесь html и js в результате вызова ajax, см. Мой первый фрагмент кода. Я помещаю это в innerHtml внутри div. Затем я хочу назвать одну часть (TestFunction) кода, который я только что вставил в div – buddybubble