Javascript загружен и выполнен, но не работает

#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 , но поведение такое же.

Я не могу объяснить, что происходит; помогите!