Если вы хотите, чтобы событие работало на вашей странице, вы должны вызвать его внутри функции $ (document) .ready (). Все внутри него загрузится, как только будет загружена модель DOM и до того, как будет загружено содержимое страницы.
Я хочу создать код javascript только после загрузки содержимого страницы, как я могу это сделать?
$(document).on('load', ...
это сделать,$(window).on('load',...
Следующий
$(document).ready(function() { });
можно заменить
$(window).bind("load", function() { // insert your code here });
Есть еще один способ, который я использую, чтобы увеличить время загрузки страницы.
$(document).ready(function() { $(window).load(function() { //insert all your ajax callback code here. //Which will run only after page is fully loaded in background. }); });
источник
никто не упомянул об этом
$(function() { // place your code });
что является сокращенной функцией
$(document).ready(function() { .. });
источник
Изменить: этот код будет ждать, пока весь контент (изображения и сценарии) полностью загрузится и отобразится в браузере.
У меня была эта проблема, когда
$(window).on('load',function(){ ... })
мой код запускался слишком быстро, так как Javascript я использовал, предназначался для целей форматирования и скрытия элементов. Элементы были скрыты слишком рано и оставлены с высотой 0.Я сейчас использую,
$(window).on('pageshow',function(){ //code here });
и он срабатывает в нужное мне время.источник
Таким образом можно избежать неопределенности в '$'
window.addEventListener("DOMContentLoaded", function(){ // Your code });
РЕДАКТИРОВАТЬ: использование DOMContentLoaded быстрее, чем просто загрузка, потому что страница ожидания загрузки полностью загружена, imgs включены ... в то время как DomContentLoaded ждет только структуру
источник
Я ищу ту же проблему, и вот что мне помогает. Вот версия jQuery 3.1.0, и событие загрузки устарело для использования, начиная с версии jQuery 1.8 . Событие загрузки удалено из jQuery 3.0. Вместо этого вы можете использовать метод on и привязать событие загрузки JavaScript:
$(window).on('load', function () { alert("Window Loaded"); });
источник
И если вы хотите запустить вторую функцию после завершения первой, см. Этот ответ stackoverflow .
источник
напишите внутри него код, который вы хотите выполнить. Когда ваш документ будет готов, он будет выполнен.
$(document).ready(function() { });
источник