Каковы побочные эффекты (если они есть) нескольких $ (document) .ready () на странице HTML?

Я использую каркас веб-приложения (Symfony 1.3.6), который следует шаблону MVC.

Уровень представления состоит из декоратора шаблона. это работало так, что на объединенной последней странице ('homepage) был только один $ (document) .ready ().

Я не уверен, что мой браузер (Firefox) или веб-фреймворк (Symfony) имели Я провел некоторую «зачистку» за кулисами.

Поэтому мой вопрос заключается в том, каков наилучший способ продолжить, если вы хотите преобразовать функциональность jQuery в «маленькие многократно используемые шаблоны», которые можно использовать повторно для обеспечения одинаковой функциональности на разных страницах

Кстати, я надеюсь, что никто не предлагает написать плагин jQuery, так как это ТАК, а не то, о чем я говорю.

10
задан Amy B 21 August 2010 в 21:01
поделиться

3 ответа

Нет проблем с множественными вызовами $ (document) .ready () , только пара предостережений:

  • Пониженная читаемость.
  • Область действия: функция / переменная / объект, объявленные внутри одного $ (document) .ready () , не будут видны ни в каких других. См. Эту простую демонстрацию .

См. Также предыдущий вопрос по SO:

13
ответ дан 3 December 2019 в 21:19
поделиться

Вы действительно можете использовать столько экземпляров $ (document) .ready () на странице, сколько захотите. Вы можете сгруппировать блоки кода инициализации любым способом, наиболее подходящим для вашего приложения. Однако то, что вы приобретете в плане гибкости, вы можете немного потерять в ясности, поскольку уже не так легко увидеть, что происходит при срабатывании onLoad.

Ссылки: jQuery Tutorial on Multiple $ (document) .ready ()

5
ответ дан 3 December 2019 в 21:19
поделиться

Если вы хотите повторно использовать фрагменты кода js на разных страницах, вы можете использовать файл конфигурации view.yml в каждом из ваших модулей следующим образом:

firstActionSuccess:
  javascripts: [js1.js, js2.js]
secondActionError:
  javascripts: [js1.js, js3.js]
-1
ответ дан 3 December 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: