2010-04-14 9 views
7

Soy novato en jQuery, solo trato de aprenderlo desde hace un par de días. En mi oficina, hay pocos desarrolladores de JavaScript de experiencia y trabajan principalmente con jQuery para todas sus necesidades y cada vez que tengo y hablar con ellos para obtener una mejor comprensión de cómo funciona jQuery y lo primero que dicen es que en $(document).(ready) haces esto y en $(document).(ready) haces eso.

Así que mi pregunta principal es ¿Cuál es el $(document).(ready) y cómo funciona realmente?

Cualquier entrada sería muy apreciada.

actualización: En las respuestas aceptó el comentario se menciona en Cuando DOM está listo, de modo que ¿qué significa realmente?

+0

Consulta la respuesta de Felix King. – Pointy

Respuesta

9

$ (document) .ready() se activa una vez que el DOM está completamente cargado y listo para ser manipulado. Esto evita que tu código se active antes de que existan los objetos contra los que actuará. $ (Document) ready() es la versión más detallada de la misma, y ​​puede ser reemplazado con cualquiera de estas declaraciones ...

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 
$(document).bind("ready", handler) 

Ver here para la documentación.

+1

Para que quede claro: '$ (document) .ready()' se activa una vez que * DOM * está completamente cargado, no necesariamente después de cargar la * página *. Este evento puede iniciarse antes de que cosas como imágenes se descarguen por completo. – Tim

+0

@Tim - correcto, actualizaré mi respuesta para aclarar. –

+1

FYI, a partir de jQuery 1.4, '$()' devuelve un conjunto jQuery vacío, por lo que no es equivalente a '$ (documento)'. Su segundo ejemplo no funcionará en 1.4. – kevingessner

1

$ (documento). (Listo) se invoca una vez que se cargan todos los elementos de su página. Esto le permite configurar cosas como los manejadores de eventos con confianza porque sabe que todos los elementos existen.

1

Documentado se refiere al evento que se desencadena por jQuery/JavaScript cuando todo el documento HTML y todos sus elementos están cargados, y listos para su manipulación.

La manera en que el navegador carga los elementos se muestra a medida que se descarga la página. Si tiene algún script que se ejecuta prematuramente, entonces corre el riesgo de que el script falle.

Por lo tanto, utiliza Document Ready para garantizar que solo se ejecute cuando toda la página esté lista.

Aquí es un ejemplo ... Esto imprimirá "hola" una vez que todo el documento se haya cargado en su navegador:

$(document).ready(function(){ 
    alert('hello'); 
}); 
3

Creo que es mejor descrito en el tutorial:

Lanzamiento de código en Document Ready

Lo primero que la mayoría de los programadores de Javascript terminan haciendo es agregar algún código a su programa, si similar a esto:

window.onload = function(){ alert("welcome"); } 

Dentro de cuál es el código que desea ejecutar justo cuando se carga la página. Sin embargo, el código JavaScript no se ejecuta hasta que se terminan todas las imágenes descargando (esto incluye anuncios de banner). La razón para usar window.onload en primer lugar es que el 'documento' HTML no ha terminado de cargarse todavía, 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 
}); 

O en pocas palabras, garantiza que cada elemento del documento se carga para que pueda acceder a él, pero no espera hasta que se carguen las imágenes.

1

DOM significa Document Object Model. Puede leer más al respecto here. Así

$ (document) ready()

se dispara una vez que el DOM está completamente cargada por su browser.Since Javascript se ejecuta en el navegador, nos gustaría única para iniciar la ejecución una vez que el navegador conoce cada elemento en la página en la que queremos que se ejecute el script.

0

que al igual evento window.onload

excepto que dosent esperar dicha imagen todos los datos binarios para completar la carga

esto es crucial si quieres trabajar con dom, porque u dosent quiere que su código de acceder al elemento dom que dosent existe

Cuestiones relacionadas