Respuestas:
document.ready
es un evento jQuery, se ejecuta cuando el DOM está listo, por ejemplo, todos los elementos están ahí para ser encontrados / utilizados, pero no necesariamente todo el contenido .window.onload
se dispara más tarde (o al mismo tiempo en los peores / fallidos casos) cuando se cargan imágenes y demás, por lo que si usa dimensiones de imagen, por ejemplo, a menudo quiere usar esto en su lugar.$(window).on('load')
. Ambos haciendo referencia al evento de carga .
it will run on ALL future calls of the function
?
$(document).ready
código una vez que el DOM está listo. Es un caso de uso tan pequeño que probablemente no valía la pena confundir a todos con mencionarlo. 2) El ENTORNO solo llama $(document).ready(function(){})
una vez, cuando el DOM está listo. Si el usuario, por alguna razón, ejecuta más $(document).ready
después de que el DOM esté listo, entonces sí, se ejecutará de inmediato.
$(document).ready(function() {
// executes when HTML-Document is loaded and DOM is ready
alert("document is ready");
});
$(window).load(function() {
// executes when complete page is fully loaded, including all frames, objects and images
alert("window is loaded");
});
El $(window).load()
NO está disponible en jQuery 3.0
$( window ).load(function() {
// Handler for .load() called.
});
Para evitarlo, puede usarlo como un "Anexo de controlador de eventos"
$( window ).on("load", function() {
// Handler for .load() called.
});
Las diferencias son:
$(document).ready(function() {
es un evento jQuery que se activa cuando se carga DOM, por lo que se activa cuando la estructura del documento está lista.
$(window).load()
El evento se activa después de cargar todo el contenido.
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$( document ).ready(function() {
alert( "document loaded" );
});
$( window ).load(function() {
alert( "window loaded" );
});
</script>
</head>
<body>
<iframe src="http://stackoverflow.com"></iframe>
</body>
</html>
window.load se activará después de cargar todo el contenido del iframe
$(document).ready
sucede cuando todos los elementos están presentes en el DOM, pero no necesariamente todo el contenido.
$(document).ready(function() {
alert("document is ready");
});
window.onload
o $(window).load()
sucede después de que se hayan cargado todos los recursos de contenido (imágenes, etc.).
$(window).load(function() {
alert("window is loaded");
});
Desde jquery prospective, solo agrega load
/ onload
evento a la ventana y al documento. Mira esto:
document.ready (jQuery) document.ready se ejecutará justo después de que se cargue el documento HTML y el DOM esté listo.
DOM: el Document Object Model (DOM) es una convención multiplataforma e independiente del lenguaje para representar e interactuar con objetos en documentos HTML, XHTML y XML.
$(document).ready(function()
{
// executes when HTML-Document is loaded and DOM is ready
alert("(document).ready was called - document is ready!");
});
window.load (JavaScript incorporado) Sin embargo, window.load esperará a que la página se cargue por completo, esto incluye marcos internos, imágenes, etc. * window.load es un método de JavaScript incorporado, se sabe que tiene algunos peculiaridades en los navegadores antiguos (IE6, IE8, versiones antiguas de FF y Opera), pero generalmente funcionarán en todos ellos.
window.load se puede usar en el evento de carga del cuerpo como este (pero le sugiero encarecidamente que evite mezclar código como este en el HTML, ya que es una fuente de confusión más adelante):
$(window).load(function()
{
// executes when complete page is fully loaded, including all frames, objects and images
alert("(window).load was called - window is loaded!");
});
$ (window) .load es un evento que se dispara cuando el DOM y todo el contenido (todo) en la página se carga completamente como CSS, imágenes y marcos. Un mejor ejemplo es si queremos obtener el tamaño real de la imagen o los detalles de cualquier cosa que la usemos.
$ (document) .ready () indica que el código debe ejecutarse una vez que se carga el DOM y está listo para ser manipulado por el script. No esperará a que se carguen las imágenes para ejecutar el script jQuery.
<script type = "text/javascript">
//$(window).load was deprecated in 1.8, and removed in jquery 3.0
// $(window).load(function() {
// alert("$(window).load fired");
// });
$(document).ready(function() {
alert("$(document).ready fired");
});
</script>
$ (ventana) .load disparada después de $ (documento) .ready ().
$ (window) .load quedó en desuso en 1.8 y se eliminó en jquery 3.0
Creo que el $(window).load
evento no es compatible con JQuery 3.x
De acuerdo con DOM Level 2 Events, load
se supone que el evento se activa document
, no se activa window
. Sin embargo, load
se implementa window
en todos los navegadores para la compatibilidad con versiones anteriores.
$(document).ready(function(){})
is$(function(){})
y otra diferencia importante de window.load es que se ejecutará en TODAS las llamadas futuras de la función, incluso después del DOMready inicial.