JQuery / Javascript - функция Doc Ready связана с последним загруженным файлом сценария / порядком загрузки?- Вопрос новичка - PullRequest
0 голосов
/ 24 декабря 2018

Я только начинаю с Jquery / Javascript, так что, надеюсь, это не вызовет слишком много гнева из "как вы не такие группы": -)

Я пробовал различные дополнения Jquery-и т. д., которые я видел в Интернете и пытался реализовать их в соответствии с их демонстрационными примерами, которые можно найти в Интернете.

Я использовал эти тесты / примеры в веб-шаблонах Visual Studio MVC std и т. д.

Я столкнулся со странным поведением, из-за которого я публикую этот вопрос.

В большинстве примеров в Интернете они ссылаются на ряд дополнительных сценариев, которые необходимо загрузить.для поддержки надстройки - например, я использовал простую сетку, которая имеет собственный файл js, поэтому его необходимо загрузить на страницу.

В большинстве, если не во всех этих примерах, используется событие Document Ready./ функция, чтобы затем заполнить образец данными.

в некоторых из использованных мной примеров они не работали, и, похоже, это комбинация шаблона MVCуказание странице загрузить скрипты в нижний колонтитул и функцию / событие Document Ready в поисках функции в файле JS, которую он не может найти.

Я сделал это, взломав / переставив шаблон MVCчтобы теперь загрузить скрипты нижнего колонтитула в верхний колонтитул страницы.

Итак, вопрос / вопросы.

Работает ли Document Ready в контексте последнего загруженного скрипта?Как загрузить скрипт и дать ему псевдоним?Можно ли трактовать эти сценарии аналогично модели C #, используя что-то похожее на псевдоним?Я могу видеть, что это может вызвать проблемы с главной страницей / частичными страницами, если на этих страницах нужны разные сценарии или сценарии имеют одинаковые имена функций.

Извиняюсь за то, что этот вопрос должен был называться "как же работает JQuery?"

возможно, немного больше объяснений?в сценарии 1: стандартный заголовок шаблона MVC - загрузка сценариев 1,2,3 новой страницы - загрузка добавления сценария в документ готов - $ ('# mytable'). createTable (dataw, {});нижний колонтитул - загрузка дополнительных сценариев

В результате возникает ошибка CreateTable не найдена и т. д.

в сценарии 2: исправлен заголовок - загружены сценарии 1,2,3 и перемещены новые страницы сценариев нижнего колонтитула - загружено добавление в сценарийв документе готово - $ ('# mytable'). createTable (dataw, {});

Результат = OK порядок загрузки имеет значение

1 Ответ

0 голосов
/ 24 декабря 2018

https://api.jquery.com/ready/

Согласно документации, готовность документа срабатывает, когда готов DOM, а не сценарии, что означает, что некоторые обработчики, связанные после этого, не будут запускаться как документуже произошло, прежде чем они слушали.Однако они также говорят, что начиная с JQuery 3, .ready (обработчик) будет срабатывать, если DOMContentLoaded уже произошел.

Создать сетку с обработчиком .ready ()

Поместить материал в сетку с помощью функциивызов в конце этого обработчика

????

Прибыль

TL; DR

$ (документ) .on ("готов", обработчик) устарела, рекомендуется $ (документ) .ready (обработчик).

...