1
Следующая на DOM готовой функции, если у меня есть 2 функции, которые используют эту декларацию:Правильное использование функции OnDOMReady
$(document).ready(function(){my Function here});
Теперь я должен использовать две метки, один для каждой функции или я должен объявить обе функции в один из этих тегов, как внутри: $(document).ready(function(){my two Functions here});
?
<script>
$(document).ready(function(){my Function here});
</script>
Спасибо
Что вы подразумеваете под "тегами"? Сначала я думал, что вы имеете в виду '
Используйте один. Делает код более удобным для управления, чтобы вы могли видеть все функции, вызываемые в одном месте.
источник
2012-07-02 11:59:05 matpol
Используя этот принцип, который легко справляется, если он все в одном месте делает большие функции (многие строки кода, многие условные ветви и дочерние элементы). Большие функции являются индикатором отсутствия модуляции кода и отсутствия инкапсуляции проблем. Это, в свою очередь, приводит к коду спагетти. Правильный термин для кода спагетти OOP - спагетти и фрикадельки :-). –
Я не имею в виду написать здесь функции - поместите вызовы функций здесь. Вызов функции обычно является одной строкой? Это также зависит от проекта. – matpol
Я не имел в виду добавление кода функции целиком. Но в сложных проектах или в течение длительного времени требования к проектам технического обслуживания имеют тенденцию к наращиванию, и вы начинаете требовать привязать некоторые события только в некоторых случаях и должны передавать некоторые параметры для некоторых типов объектов и некоторые другие параметры для других типов объектов. Вы в конечном итоге пишете 'if' s, чтобы справиться с этим, и они быстро превращаются в спагетти. –
Вы можете сделать несколько вызовов
$(document).ready()
с различными функциями. Все они будут связаны с этим событием, если только момент, когда вы их включили, после события (включая их через AJAX с$.getScript()
).Вы не должны включать ваш код непосредственно в HTML.
Вставьте его в один или несколько внешних файлов и укажите их с помощью
src
.Таким образом, они могут легко получить кеширование, и пользователи не будут повторно загружать один и тот же контент на каждую загрузку страницы.
Также вы можете структурировать свои готовые к использованию файлы в разных целях. Один инициализирует внешние плагины. Один запускает некоторые привязки событий. Один из них применяет валидации.
Наличие их в разных файлах означает, что вы также можете включить файлы при необходимости. onReady.ShoppingCart.js может потребоваться на всех страницах в магазине, но не на страницах CMS этого магазина, а не на контрольной полосе.
источник
2012-07-02 12:04:30
благодарю вас за ваш ответ. В. Если у меня есть функция, инициализирующая уже включенную скрипт, такой как: . Должен ли этот скрипт быть включен в html? –
Цель
ready()
(против встроенногоonload=""
) - разрешить привязку нескольких обработчиков к одному событию.Итак, просто используйте самые простые/понятные вам, было бы глупо запретить вам связывать несколько раз, когда интернет воевал так много, чтобы избавиться от использования встроенных обработчиков.
источник
2012-07-02 12:06:28 BiAiB
спасибо, хорошая точка –