2013-03-22 7 views
18

Questa probabilmente è già una domanda da qualche parte, ma non riesco a trovarla, poiché OGNI singola ricerca genera domande jQuery.

Sto cercando un metodo collaudato per legarsi al documento pronto, proprio come lo $(document).ready() di jQuery. Tuttavia, questo è per una pagina "solo browser moderno", con javascript molto leggero, e vorrei evitare di caricare jQuery qui.

Qualcuno potrebbe gentilmente indicarmi la giusta direzione?

Grazie!

+0

questo è stato chiesto un paio di volte già. Cerca prima di pubblicare una domanda http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery http://stackoverflow.com/questions/9899372/pure-javascript-equivalent-to-jquerys -ready-how-to-call-a-function-when-the – rzr

+0

@rzr Leggi la domanda. Ho cercato tra le pagine di domande e ho avuto difficoltà a trovare la risposta. –

+1

@rzr Inoltre, la domanda a cui hai collegato fornisce solo soluzioni cross-browser, sto cercando un sottoinsieme specifico. –

risposta

27
document.addEventListener('DOMContentLoaded', function() { 
    /* ... */ 
}); 

L'evento "DOMContentLoaded" saranno licenziati quando il documento è stato analizzato completamente, cioè senza i fogli di stile * e altre immagini. Se è necessario attendere immagini e fogli di stile, utilizzare invece "load".

* solo se il <script> è prima della <link rel="stylesheet" ...>

+1

Accetterò quando posso - collegato, funziona come un incantesimo! Grazie mille. –

+1

@ RandyHall: prego. Si consiglia di dare un'occhiata a https://github.com/addyosmani/jquery.parts/blob/master/jquery.documentReady.js (non è un plugin jQuery, ma una parte indipendente di jQuery). – Zeta

+1

window.addEventListener ('load') sembra la strada da percorrere: http://stackoverflow.com/questions/16404380/why-doesnt-document-addeventlistenerload-function-work-in-a-reasreaskey-s –