segundo $ (document) evento ready jQuery
-
09-09-2019 - |
Pregunta
Estoy usando algunos jQuery externo con $ (document) ready () para insertar anuncios después de que el evento ready documento ha disparado, algo como:
$(document).ready( function() {
$('#leaderboard').html("<strong>ad code</strong>");
});
Esto es para prevenir la UI siendo bloqueada por el lento de carga de los anuncios. Hasta ahora ha estado funcionando bien.
Ahora tengo que insertar algunos más anuncios pesar de que nuestro sistema de CMS, esto no puede ser parte del archivo JS externo, por lo que me pregunto puedo utilizar un segundo evento ready documento e insertarla usando una etiqueta de secuencia de comandos en línea? Si es así, ¿cuál será el orden de ejecución el evento ready documento externo de JS primera o la secuencia de comandos en línea?
Solución
Puede utilizar tantos métodos de evento que desee, jQuery se une a ellos en una cola. Orden de llamada de método es el mismo que para la definición -. Último añadido se llama la última
Una cosa útil puede ser también de eso, usted puede cargar el código html con la escritura usando ajax y cuando el código se carga en DOM $ (). Ready () también será llamado, para que pueda cargar los anuncios de forma dinámica.
Otros consejos
Sí, la adición de múltiples $ (documentos) ready () s no es un problema. Todos serán ejecutados en el evento ready.
Tenga en cuenta sin embargo, que el ejemplo de código es incorrecto. $ (Document) ready () realiza una función, no una expresión. Por lo que debe darle de comer una función como esta:
$(document).ready( function() {
$('#leaderboard').html("<strong>ad code</strong>");
});
se ejecutará Esa función cuando el documento esté listo.
aquí hay un pequeño tutorial sobre de múltiples documentos Listo
Una ventaja añadida del camino jQuery es que puede tener múltiples listas () definiciones. Este es el caso de todos eventos jQuery.
$ (document) ready (function () { alert ( "Número Uno"); });
$ (document) ready (function () { alert ( "Número Dos");
jQuery llama a las funciones listas en el orden en que se definen. Si desea cargar algunos datos primero y deleay ejecución uso holdReady () .