2011-10-19 13 views
16

he recogido un proyecto existente de otro desarrollador y he notado en el código que se están ejecutando código js dentro de los tres controladores de eventos diferentes ...jQuery document.ready vs pageLoad

function pageLoad() { 
//execute code 
} 

$(document).ready(function() { 
//execute code 
}); 

$(function() { 
//execute code 
}); 

Mi pregunta es - ¿No son exactamente lo mismo? ¿O al menos los dos últimos? Entiendo que el .NET framework llama a pageLoad, por lo que no depende de que la biblioteca jQuery se haya cargado como las otras dos, eso es lo que entiendo de todos modos, ¿es eso correcto?

+2

Los dos últimos son exactamente iguales. En cuanto a la diferencia entre 'pageLoad' y el controlador jQuery ready, encontré el siguiente artículo; http://encosia.com/document-ready-and-pageload-are-not-the-same/ – Matt

+0

Las funciones 2. y 3. se ejecutan en el evento 'DOMContentLoaded' (DOM-ready), la función 1. solo una declaración. –

Respuesta

5

pageLoad y el controlador jQuery ready son métodos para lograr cosas similares.

Los dos últimos ejemplos son idénticos.

http://encosia.com/document-ready-and-pageload-are-not-the-same/

+1

Vale la pena señalar algo del enlace publicado: La función 'pageLoad' podría ejecutarse más de una vez, mientras que el evento' DomContentLoaded' que usa jQuery no lo haría. –

0

$ (document) .ready no se activará para las devoluciones de datos parciales (pasó de AJAX). En ese caso, debe usar la función MS AJAX pageLoad cuando necesite ejecutar algo cuando la página se carga desde la devolución de datos completa o parcial.

El artículo dado en el sitio de Encosia es una buena lectura.

18

$ (document) ready()

  • Ideal para una inicialización de tiempo.

  • Optimización magia negra; puede ejecutarse un poco antes que pageLoad().

  • No se vuelve a conectar la funcionalidad a elementos afectados por devoluciones de elementos parciales.

pageLoad()

  • Inadecuado para una inicialización de tiempo si se utiliza con UpdatePanels.

  • Un poco menos optimizado en algunos navegadores, pero constante.

  • Perfecto para volver a unir la funcionalidad a los elementos dentro de UpdatePanels.