2011-03-17 28 views

risposta

3
$(window).bind('load', function() 
{ 
    //your code in here 
}); 
33

Se vuoi dire quando il documento HTML è stato caricato, utilizzare l'evento ready:

$(document).ready(function(){ 
    ... 
}); 

O la scorciatoia:

$(function(){ 
    ... 
}); 

Se vuoi dire quando la pagina, tra cui tutti i fogli di stile , script, immagini e quant'altro ha completato il caricamento, utilizzare l'evento load:

$(window).load(function(){ 
    ... 
}); 
+1

-1 No. Quello DOM pronto, non quando la finestra è completamente vuota. Il DOM è pronto prima che tutte le immagini siano state scaricate e prima che la pagina sia resa al client. –

+0

@James Westgate: Troppo tardi, l'ho già chiarito nella risposta. – Guffa

+0

@JamesWestgate, La risposta accettata a questa domanda SO dice: http://stackoverflow.com/questions/4584373/difference-between-window-loadfunction-and-document-readyfunction dice: bit di una correzione, non c'è: $ (document) .load (function() { –

-1

Siete alla ricerca per l'evento carico finestra.

In jQuery si allega l'evento di caricamento come segue:

$(document).ready(function() { 

    $(window).load(function() { 

    } 

} 

Si noti che è necessario inserire questo all'interno di un documento pronto per alcuni browser, IE8 OTTOMH.

+0

Non è necessario il ready wrapper – Blaise

+0

Perché dovresti ritardare l'aggancio dell'evento di carico? È usato su milioni di pagine e raramente (se mai) fatto collegando l'evento a un evento del genere. – Guffa

+0

Mi sono imbattuto in questo problema in cui window.load non veniva attivato e la soluzione era di avvolgere window.laod all'interno di document.ready. Ti rimando a http://stackoverflow.com/questions/5006922/window-load-inside-a-document-ready –

1

Questo dipende dalla definizione di "carico". Dai un'occhiata a queste due funzioni nella documentazione jQuery:

In particolare, si possono vedere le differenze nella pagina doc della funzione ready().

Mentre JavaScript fornisce l'evento carico per l'esecuzione di codice quando una pagina è reso, questo evento non ottiene attivato fino a quando tutte le attività come immagini sono state completamente ricevute. Nella maggior parte dei casi, lo script può essere eseguito non appena la gerarchia DOM è stata completamente costruita. Il gestore ha passato a .ready() è garantito per essere eseguito dopo che il DOM è pronto, quindi questo è in genere il posto migliore per allegare tutti gli altri gestori di eventi e eseguire altro codice jQuery. Quando si utilizzano gli script che si basano sul valore delle proprietà di stile CSS , è importante leggere i fogli di stile esterni di riferimento o prima di facendo riferimento agli script.

Nei casi in cui il codice deduce caricati attivi (ad esempio, se le dimensioni sono tenuti di un'immagine), il codice devono essere collocati in un gestore per l'evento carico invece.

0

Provare a vincolare un richiamo dell'evento di caricamento all'ultima immagine sulla pagina.

0

di chiamare un metodo una volta che il documento sia caricato completamente utilizzare

$(document).ready(function(){ 
    ... 
}); 

Oppure se la pagina si carica attraverso un uso ajax chiamata

$('#containerdiv').load('samplepage.jsp', function() { 
    alert("ajax load complet.."); 
}); 
1

Quando DOM è pronto quindi utilizzare evento .ready.

jQuery(document).ready(function(){ 
    //content 
}); 

si utilizza anche l'evento .load quando la pagina carica le immagini.

jQuery(window).load(function(){ 
    //content 
}); 
0

Se si vuole veramente il tuo JavaScript per funzionare una volta che 'tutto e' tutto il codice HTML viene caricato, è possibile con

window.onload = function(){ 
 
    // Do stuff 
 
}

Problemi correlati