#javascript #html #jquery
Вопрос:
Здесь я в полном тупике. У меня есть div
файл, содержимое которого загружается с помощью load()
функции jQuery:
$("#contentDiv").load("venue-kpis/index.php");
Содержимое представляет собой загрузочную HTML-форму, ничего особенного, с этим javascript, встроенным в конце:
<script>
$.() => {
if(typeof state == 'undefined') {
$.getScript("/venue-kpis/charts.js");
$.getScript("/venue-kpis/venue-kpi.js", () => { initState($initialJsState) });
}
});
</script>
К вашему сведению, state
и initState
определен в venue-kpis.js
, и именно там находится весь javascript, который управляет вышеупомянутой формой. В любом случае, все работает отлично. Сначала. Доступ к странице осуществляется с помощью опции в раскрывающемся меню начальной загрузки в заголовке веб-страницы моего отдела:
<li><a href="#venue" onclick="loadContent('venue')">Venue KPIs</a></li>
Вот моя проблема: если вы находитесь на странице, все в порядке, но если вы нажмете ссылку в заголовке, чтобы перезагрузить ее, ни один из вышеперечисленных javascript не работает; похоже, что эти 2 файла никогда не загружались. Однако они загружаются, потому что, если я попытаюсь явно загрузить их (например, удалив if(typeof state == 'undefined')
из приведенного выше кода), я получу ошибки о повторных объявлениях переменных и функций. Кроме того, я могу проверить значение state
в консоли и его так, как оно должно быть.
Я пробовал здесь кое-что другое. Я попытался заменить вызовы на getScript
явными script
элементами , добавленными в head
или body
, но поведение такое же.
Я не могу объяснить, что происходит; помогите!