2011-08-11 6 views
6

Necesito crear el equivalente al evento ready de jQuery sin usar jQuery. Debe funcionar en tantos buscadores como sea posible y no puede estropear el controlador body.onload (es decir, si ya hay un conjunto de controladores, la función no debe sobrescribirlo). Revisé el código de jQuery pero no entiendo cómo funciona porque usa muchas funciones de jQuery.¿Un buen evento "listo" entre navegadores sin usar jQuery?

¿Alguna sugerencia sobre cómo hacer eso?

Editar: No tengo control sobre dónde se va a insertar mi código por eso tiene que jugar tan bien como sea posible con el controlador body.onload existente. También significa que no puedo estar seguro de que el código se insertará en la parte inferior de la página (lo más probable es que no lo esté).

+0

Yo recomiendo tratar de entender cómo funciona jQuerys, datos o en otros marcos implementaciones tales como mootools. – Loktar

+1

posible duplicado de [javascript: cómo escribir $ (documento). Listo como evento sin jquery] (http://stackoverflow.com/questions/3989095/javascripthow-to-write-document-ready-like-event-without- jquery) – Piskvor

Respuesta

0

Simplemente incluya su etiqueta <script> en la parte inferior. De esta manera, solo se cargará después de que todo el resto del contenido haya terminado de cargarse.

+0

¿El DOM está realmente listo después de cargar todo? –

+0

Creo que es. ¿JQuery suele esperar que las imágenes terminen de cargarse por completo? –

+0

@dotweb: Es posible * - pero no confiaría en esto, especialmente si están involucrados 'iframe's. – Piskvor

3

Smallest cross browser DOMReady code, ever.

<html> 
    <head> 
    <script> 
     var ready = function (f) { 
     (/in/.test(document.readyState)) ? 
      setTimeout('r(' + f + ')', 9) : 
      f(); 
     }; 
    </script> 
    </head> 
    <body> 
    <script> 
     ready(function() { 
     alert('DOM Ready!'); 
     }); 
    </script> 
    </body> 
</html> 
+0

actualizado: ¿cómo es eso? – shawndumas

Cuestiones relacionadas