2012-01-19 5 views
5

У меня есть заголовок на моей веб-странице, содержащий несколько javascript для некоторых jquery-плагинов, которые я использую. Эти плагины используются на связке страниц, поэтому я просто включаю их в заголовочный документ, который включен в каждую из моих страниц.использует документ javascript, готовый дважды в одном документе, нормально?

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

Я не хочу включать javascript на каждую страницу, поскольку она не нужна и будет пустой тратой для загрузки на каждую страницу.

+4

ничего действительно плохого с ним. второе использование будет просто добавлено в очередь готовности и не будет перезаписывать/заменять первый. –

+0

Пока они не находятся в пределах друг друга, все в порядке. –

ответ

8

ДА

jQuery docs ясно, что это хорошо.

+0

Хорошо Спасибо за подтверждение. – Sackling

+0

Да, но, пожалуйста, не надо. Подумайте о бедных парнях, которым придется реорганизовать приложение. – karim79

+2

Sackling - я согласен с @karim - если это тот же документ, тогда вы действительно должны консолидироваться в один обработчик –

3

нет ничего плохого в том, что не будет выполняться в том порядке, указан

здесь демонстрационный http://jsfiddle.net/LKuz2/7/

+1

Не знаете, знаете ли вы об этом; но 'e' не является объектом события, а скорее функцией jQuery. (Ваше именование может быть немного неоднозначным.) – pimvdb

+0

@pimvdb, вы правы, я не знал об этом tnx для исправления, обновил скрипку – Rafay

3

Да, вы можете использовать его несколько раз. Он связывает каждую функцию с инициированным событием, когда документ готов.

2

Да, имея в виду, что:

  • Ваш код будет менее читаемым.
  • В каждом блоке вы получите несколько областей функций. Таким образом, переменные, которые вы создаете в одном закрытии, не будут видны из других.

Рекомендация: Если вы думаете, нужду несколько $(document).ready( блоков, вы, вероятно, неправильно. Потратьте время, чтобы переработать свое решение на что-то более удобное.

Erm, и это было рассмотрено здесь раньше. Больше чем единожды. Мной. Как стыдно :)

Смежные вопросы