Почему я получаю ошибку «не определено» для функции, объявленной в обработчике событий jQuery ready? - PullRequest
0 голосов
/ 12 июля 2020

Я создал общий файл функции JavaScript, содержащий следующий код:

// js/common_functions.js
$(document).ready(function () {
    function showLoader() {
        if ($("#loading").length > 0) {
            $("#loading").removeClass("hideElement");
        }
    }
});

Теперь я включил этот файл в PHP и использую его, как показано ниже:

<script type="text/javascript" src="js/common_functions.js"></script>
<script type="text/javascript">
     $(document).ready(function () {
         showLoader();
     });
</script>

Включение файла работает нормально, и, по моему мнению, функция showLoader() должна быть вызвана, но она не работает, и я получаю следующую ошибку:

ReferenceError: showLoader is not defined

1 Ответ

2 голосов
/ 12 июля 2020

Объявление вашей функции находится внутри другой функции, поэтому оно ограничено этой функцией и недоступно за ее пределами.

Не делайте этого.

Использование обработчика событий ready совершенно бессмысленно, потому что «определение функции» (единственное, что вы делаете внутри нее) абсолютно не зависит от доступных элементов DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...