Estaba usando $(window).load(function(){});
para mis proyectos hasta que en algún lugar vi que alguien dijo que podíamos simplemente use $(function(){});
y se realizarían de manera idéntica.
Pero ahora que tengo más experiencia me he dado cuenta de que no son idénticas. Noté que la primera pieza entra un poco después de la segunda parte del código.
Solo quiero saber cuál es la diferencia?
Respuesta
$(document).ready(function(){})
a esperar hasta que se cargue el documento (se carga árbol DOM) y no se carga hasta que toda la ventana. por ejemplo, no esperará a que las imágenes, css o javascript se carguen por completo. Una vez que el DOM se carga con todos los componentes HTML y controladores de eventos el documento está listo para ser procesado y luego el $ (document) ready() completará
$(window).load(function(){});
Esta espera a toda la ventana para estar cargado. Cuando se carga la página completa, solo se completa el $ (ventana) .load(). Por lo tanto, obviamente $ (document) .ready (function() {}) termina antes de $ (window) .load() porque llenar los componentes (como images, css) lleva más tiempo que simplemente cargar el árbol DOM.
Así $(function(){});
no puede usarse como un reemplazo para $(window).load(function(){});
$(window).load
de mi experiencia espera hasta que todo, incluyendo imágenes se carga antes de ejecutar donde como $(function() {});
tiene el mismo comportamiento que $(document).ready(function() {});
Por favor que alguien me corrija si estoy equivocado.
En el desbordamiento de la pila, lo corregiremos si está equivocado; no tienes que pedirlo :) En este caso, no estás equivocado en absoluto. –
Estoy de acuerdo con David. Corregimos incluso el formato :) – Jashwant
El segundo es/era un atajo para $(document).ready()
, que debería ejecutarse antes del evento de carga de window
.
Tenga en cuenta que $(document).ready()
es la forma preferida de vincular algo a document
carga; hay otras maneras de hacerlo como la que mostró, pero es preferible.
Desde el jQuery docs en sí.
La primera cosa que los programadores más de Javascript terminan haciendo es añadir algo de código para su programa, similar a esto:
window.onload = function(){ alert("welcome"); }
Dentro de los cuales es el código que desea ejecutar la derecha cuando se carga la página . Sin embargo, es problemático que el código JavaScript no se ejecute hasta que todas las imágenes hayan terminado de descargarse (esto incluye anuncios publicitarios). La razón para usar window.onload en primer lugar es que el 'documento' HTML aún no se ha terminado de cargar, cuando intenta ejecutar su código por primera vez.
burlar tanto problemas, jQuery tiene una declaración simple que comprueba el documento y espera hasta que esté listo para ser manipulado, conocido como el evento ready:
$(document).ready(function(){
// Your code here
});
Ahora,
$(window).load(function(){});
es igual a window.onload = function(){ alert("welcome"); }
Y, $(function(){});
es un acceso directo a $(document).ready(function(){ });
pienso, esto borra todo :)
Como nota al pie, yo personalmente siempre prefiero deletrear '$ (documento) .ready (function() {...});' para mayor claridad. Un desarrollador menos experimentado que viene detrás de mí podría no saber lo que '$ (function() {..}' significa, o cualquiera (incluyéndome a mí) podría echarle un vistazo y ver 'function() {...}' en su lugar y obtener la idea equivocada. Al codificar, siempre es mejor ser claro que guardar un puñado de teclas y fomentar la confusión en la línea. – Blazemonger
Estoy de acuerdo @Blazemonger :) – Jashwant
@Jashwant - ¿Sabes exactamente qué desencadena $ (ventana) .load() ¿para disparar? Creo que es cuando 'document.readyState' cambia a' completo' pero no puedo encontrarlo en la documentación de jQuery en ninguna parte. Aquí está la referencia de Mozilla: https://developer.mozilla.org/en-US/docs/Web/API/document.readyState – jamis0n
- 1. Cuál es la diferencia entre la función() {}() y la función() {}()
- 2. ¿Cuál es la diferencia entre función y función
- 3. ¿Cuál es la diferencia entre función (myVar) y (función) myVar?
- 4. ¿Cuál es la diferencia entre "función" y "función"? en VIM?
- 5. diferencia entre función y función &
- 6. ¿Cuál es la diferencia entre una subrutina y una función?
- 7. ¿cuál es la diferencia entre declaración de función y firma?
- 8. ¿Cuál es la diferencia entre un algoritmo y una función?
- 9. ¿Cuál es la diferencia entre un método y una función?
- 10. ¿Cuál es la diferencia entre la plantilla de función y la función de plantilla?
- 11. ¿Cuál es la diferencia entre la función exec() de RegExp y la función match() de String?
- 12. Hay una diferencia entre (función() {...}()); y (función() {...})() ;?
- 13. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 14. Diferencia de JavaScript entre la función y la nueva función
- 15. diferencia entre xmlhttprequest y $ .ajax(), $ .load
- 16. ¿Cuál es la diferencia entre este, auto, ventana y window.self
- 17. Diferencia entre $ .ajax() y $ .get() y $ .load()
- 18. ¿cuál es la diferencia entre:.! y: r !?
- 19. diferencia entre una función virtual y una función virtual pura
- 20. ¿Cuál es la diferencia entre dict() y {}?
- 21. Diferencia entre $ ("# id"). Load y $ .ajax?
- 22. ¿cuál es la diferencia entre la especialización explícita de plantilla y la función normal?
- 23. ¿Cuál es la diferencia entre la propiedad de solo lectura y la función en .net?
- 24. ¿Cuál es la diferencia práctica entre la ventana de comando y la ventana Inmediato?
- 25. ¿Cuál es la diferencia entre una propiedad parametrizada y la función en vb.net?
- 26. ¿Cuál es la diferencia entre 'estado' y 'estado' en el nombre de la función?
- 27. ¿Cuál es la diferencia entre MAP_SHARED y MAP_PRIVATE en la función mmap?
- 28. ¿Cuál es la diferencia entre window.onload = init(); y window.onload = init;
- 29. Diferencia entre la función Reentrada y Thread-Safe
- 30. Diferencia entre la función glTexSubImage y glTexImage en OpenGL
El primero se une la función al evento 'load', y el segundo se une al evento' DOMContentLoaded' (que se produce más pronto) –
@ ŠimeVidas , Justo en el blanco +1 – Jashwant
posible duplicado de [jQuery - ¿Cuáles son las diferencias entre $ (documento) .ready y $ (ventana) .load?] (Http://stackoverflow.com/questions/8396407/jquery-what-are -differences-between-document-ready-and-window-load) – Mottie