jQuery - плохо ли иметь несколько $ (document) .ready (function () {}); - PullRequest
44 голосов
/ 18 июля 2009

Разве плохо иметь несколько $(document).ready(function() {}); на вашей странице? У меня есть сайт, где я загружаю разные вещи в разное время. Я запускаю эти функции частичной обратной передачи внутри $(document).ready(), но у меня сразу 4 или 5 страниц. Это плохая практика? В частности, это вызовет проблемы с производительностью?

Ответы [ 5 ]

32 голосов
/ 18 июля 2009

Этот ответ больше не актуален. Пожалуйста, смотрите другие посты ниже для более актуальных jQuery $ .ready (). Этому сообщению более 3 лет.

См .: http://jsperf.com/docready/11

Ответ - нет! Вы можете мусорить их столько, сколько хотите (обратите внимание на помет слова). Они просто становятся очередью событий, которые вызываются, когда событие готовности запущено.

http://www.learningjquery.com/2006/09/multiple-document-ready

11 голосов
/ 27 ноября 2011

Ответ на самом деле «Да, это снижает производительность»:

http://jsperf.com/docready/3

3 голосов
/ 18 июля 2009

Нет, хорошо иметь столько, сколько хочешь. Короче, гораздо более элегантный способ сделать это - $(function(){}).

1 голос
/ 18 июля 2009

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

Я сомневаюсь, что последствия для производительности настолько значительны. Вы пробовали сравнить страницу со всеми вместе и по отдельности?

0 голосов
/ 23 мая 2018

Если какой-либо из них выдает исключение, он блокирует запуск остальных. Это может быть очень трудно отладить с помощью кода, "замусоренного" в нескольких исходных файлах (особенно сторонних библиотеках).

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