2012-06-27 5 views
1

После прочтения the jQuery .load() documentation, в разделе "Script Execution", он сказал следующее:любопытно Jquery .load()

Execution

Script

При вызове .load(), используя URL-адрес без суффикс-селектор , содержимое передается в .html() перед удалением сценариев . Это выполняет блоки скриптов перед их отбрасыванием.

  1. Что касается фразы «до скрипты удаляются», это означает, что сценарий будет удален, а не добавляется в DOM? Что только HTML будет передан в документ и обновлен в DOM?

  2. Что касается фразы «это выполняет блоки скриптов перед их отбрасыванием», значит ли это, что скрипт выполняется, а затем отбрасывается, и нет никаких средств для нас, чтобы называть его позже?

  3. Даже если сценарии переданы в документ, если DOM не обновлен, мы также не можем назвать его позже, можем ли мы?

Если все ответы на вопросы выше, да, это означает, что выгрузку файла JavaScript с помощью .load() может быть только мгновенное исполнение после .load() завершения загрузки, не так ли? И что нет смысла повторять этот скрипт после .load(), потому что он отбрасывается и уходит?

ответ

0

JavaScript, загруженный .load(), работает точно так же, как обычный встроенный JavaScript от <script></script> тегов.

Чтобы получить некоторые результаты из загруженного фрагмента JavaScript, вы можете создать некоторые объекты или свойства, определить функции и т. Д. Например, плагин jQuery может быть загружен таким образом.

Edit:
Обратите внимание, что если суффиксом селектор присутствует, чем сценарии не будут выполняться.