Si desea que un evento funcione en su página, debe llamarlo dentro de la función $ (document) .ready (). Todo lo que contiene se cargará tan pronto como se cargue el DOM y antes de que se carguen los contenidos de la página.
Quiero hacer código javascript solo después de que se carguen los contenidos de la página, ¿cómo puedo hacerlo?
$(document).on('load', ...
lo que debe ser$(window).on('load',...
Siguiendo
$(document).ready(function() { });
puede ser reemplazado
$(window).bind("load", function() { // insert your code here });
Una vez más, estoy usando una forma de aumentar el tiempo de carga de la página.
$(document).ready(function() { $(window).load(function() { //insert all your ajax callback code here. //Which will run only after page is fully loaded in background. }); });
fuente
nadie mencionó esto
$(function() { // place your code });
que es una función abreviada de
$(document).ready(function() { .. });
fuente
Editar: este código esperará hasta que todo el contenido (imágenes y scripts) esté completamente cargado y renderizado en el navegador.
Tuve este problema en el
$(window).on('load',function(){ ... })
que dispararía demasiado rápido para mi código, ya que el Javascript que usé fue para formatear y ocultar elementos. Los elementos se ocultaron demasiado pronto y se dejaron con una altura de 0.Ahora lo uso
$(window).on('pageshow',function(){ //code here });
y se dispara en el momento que necesito.fuente
Puede evitar quedar indefinido en '$' de esta manera
window.addEventListener("DOMContentLoaded", function(){ // Your code });
EDITAR: Usar 'DOMContentLoaded' es más rápido que solo 'cargar' porque la página de espera de carga está completamente cargada, imágenes incluidas ... mientras que DomContentLoaded espera solo la estructura
fuente
Estoy buscando el mismo problema y esto es lo que me ayuda. Aquí está la versión 3.1.0 de jQuery y el evento de carga está obsoleto para su uso desde la versión 1.8 de jQuery . El evento de carga se elimina de jQuery 3.0. En su lugar, puede usar el método on y vincular el evento de carga de JavaScript:
$(window).on('load', function () { alert("Window Loaded"); });
fuente
Y si desea ejecutar una segunda función después de que finalice la primera, consulte esta respuesta de stackoverflow .
fuente
escribe el código que quieres que se ejecute dentro de este. Cuando su documento esté listo, esto se ejecutará.
$(document).ready(function() { });
fuente