Вопрос:
$(document).ready
Что произойдет, если я свяжу два файла JavaScript с обоими функциями? Один перезаписывает другой? Или оба $(document).ready
звонят?
Например,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="http://.../jquery1.js"></script>
<script type="text/javascript" src="http://.../jquery2.js"></script>
jquery1.js:
$(document).ready(function(){
$("#page-title").html("Document-ready was called!");
});
jquery2.js:
$(document).ready(function(){
$("#page-subtitle").html("Document-ready was called!");
});
Я уверен, что лучше всего объединить оба вызова в один, $(document).ready
но в моей ситуации это не совсем возможно.
javascript
jquery
rlb.usa
источник
источник
Ответы:
Все будет выполнено и на первом вызове!
Демо Как видите, они не заменяют друг друга
Также я хотел бы упомянуть одну вещь
вместо этого
Вы можете использовать этот ярлык
источник
jQuery(document).ready(function(){ });
Важно отметить, что каждый
jQuery()
вызов должен действительно возвращаться. Если исключение выдается в одном, последующие (не связанные) вызовы никогда не будут выполнены.Это применяется независимо от синтаксиса. Вы можете использовать
jQuery()
,jQuery(function() {})
,$(document).ready()
все, что вы хотите, поведение такое же. Если ранний сбой, последующие блоки никогда не будут запущены.Это было проблемой для меня при использовании сторонних библиотек. Одна библиотека генерировала исключение, а последующие библиотеки никогда ничего не инициализировали.
источник
$(document).ready
вызовов выдал ошибку, и поэтому другая$(document).ready
функция не была вызвана. Это сводило меня с ума.$ (Документ) .ready (); такой же, как и любая другая функция. он срабатывает, когда документ готов - т.е. загружен. вопрос в том, что происходит, когда запускается несколько $ (document) .ready (), а не при запуске одной и той же функции в нескольких $ (document) .ready ().
оба будут вести себя одинаково. единственное отличие состоит в том, что хотя первый достигнет тех же результатов. последний будет работать на доли секунды быстрее и требует меньше печатать. :)
в заключение, где только возможно, используйте только 1 $ (document) .ready ();
// старый ответ
Они оба будут вызваны по порядку. Лучшей практикой было бы объединить их. но не волнуйтесь, если это невозможно. страница не взорвется.
источник
Исполнение сверху вниз. Первым прибыл - первым обслужен Эквивалент в русском языке: поздний гость гложет и кость.
Если последовательность выполнения важна, объедините их.
источник
Оба будут вызваны, первым пришел, первым обслужен. Посмотрите здесь .
Вывод:
источник
Не для necro поток, но в последней версии
jQuery
предлагается синтаксис:Используя анонимную функцию, это выглядело бы как
Смотрите эту ссылку:
https://api.jquery.com/ready/
источник