¿Qué es la no-jQuery equivalente $(document).ready()
?
Respuestas
¿Demasiados anuncios?Esto funciona perfectamente, de ECMA
document.addEventListener("DOMContentLoaded", function() {
// code...
});
La window.onload
doesnt igual a JQuery $(document).ready
porque JQuery espera solamente el árbol DOM, mientras que la Vainilla JS comprobar todos los elementos incluyendo los activos externos y las imágenes.
EDIT: Añadido el IE8 y anteriores equivalente, gracias a Derk Jan
document.attachEvent("onreadystatechange", function(){
if (document.readyState === "complete"){
document.detachEvent( "onreadystatechange", arguments.callee );
// code ...
}
});
La cosa agradable sobre $(document).ready()
es que los fuegos window.onload
. La función de la carga de espera hasta que todo se carga, incluyendo los activos externos y las imágenes. $(document).ready
, sin embargo, se desencadena cuando el árbol DOM está completo y puede ser manipulada. Si desea obtener DOM listo, sin jQuery, se puede comprobar en esta biblioteca. Alguien extrae solo el ready
parte de jQuery. Su agradable y pequeño, y usted podría encontrar útil:
domready en Google Code
En la llanura de vainilla JavaScript, sin bibliotecas? Se ha producido un error. $
es simplemente un identificador, y es indefinido, a menos que se defina.
jQuery define $
como propia de "todo objeto" (también conocido como jQuery
lo que se puede utilizar sin conflicto con otras bibliotecas). Si no estás usando jQuery (o alguna otra biblioteca que lo define), a continuación, $
no se define.
O estás preguntando cuál es el equivalente en formato de JavaScript? En ese caso, usted probablemente querrá window.onload
, que no es exactamente equivalente, pero es la forma más fácil y rápida de acercarme a el mismo efecto en JavaScript.