javascript - length - one() jquery
¿Qué evento activa JQuery $ function()? (4)
Tenemos una declaración JQuery $(function()
como:
<script type="text/javascript">
$(function(){
//Code..
})
</script>
Pregunta tonta: ¿cuándo exactamente se ejecuta esta función? ¿Es cuando el cliente ha descargado toda la página HTML?
¿Cuál es el beneficio de usar el código dentro de $(function()
en lugar de simplemente hacer?
<script type="text/javascript">
//Code..
</script>
Cuando el documento completa la carga. Es lo mismo que escribir esto:
$(document).ready(function(){});
EDITAR: Para responder a su segunda pregunta:
Si no ajusta su código en el bloque anterior, se activará tan pronto como se encuentre en lugar de después de que se hayan cargado todos los controles de la página. Entonces, si un bloque estaba en la parte superior de una página y se refería a elementos en la página, esas referencias no funcionarían ya que los elementos no se habían cargado aún.
Pero si ajusta el bloque, sabrá que la página se ha cargado y que todos los elementos están disponibles para hacer referencia.
Se dispara cuando el documento se ha analizado y está listo, y es el equivalente de $(document).ready(function () { })
.
El beneficio obvio es que tener su etiqueta de secuencia de comandos antes que otros elementos en la página significa que la secuencia de comandos puede interactuar con ellos a pesar de que no están disponibles en el tiempo de análisis. Si ejecuta su secuencia de comandos antes de que los elementos se hayan analizado y el documento no esté listo, no estarán disponibles para la interacción.
Se dispara después de que el documento se haya cargado por completo, se haya inicializado el árbol DOM, se hayan aplicado todos los estilos CSS y se haya ejecutado todo el Javascript. Difiere del evento de load
en que los elementos (que no sean CSS / JS) que cargan su contenido de otras URL, como imágenes o archivos flash, no necesariamente han terminado de cargarse en este punto. Esto generalmente se conoce como el evento "domready" o "domloaded", y algunos navegadores modernos lo soportan directamente (por ejemplo, Firefox tiene un evento DomContentLoaded), y en otros se puede simular con varios trucos, como usar el atributo defer
o colocar un script al final del cuerpo
La ventaja es que puede interactuar de manera confiable con el documento en este momento; por ejemplo, puede establecer un controlador de eventos en un elemento con un determinado ID y asegurarse de que ya existe en el árbol DOM. Por otro lado, puede ejecutarse mucho antes que el evento de carga, si algún recurso externo tarda en cargarse. Si el script se encuentra al final de su código HTML, puede haber poca diferencia en el uso o no del evento domready, pero normalmente los scripts se llaman desde la etiqueta principal, y en ese momento aún no hay elementos del cuerpo disponibles.
Se ejecuta tan pronto como se analiza el DOM y se invoca por orden de aparición si hay varias apariencias. En este punto, sin embargo, el documento no se muestra, simplemente se analiza.