2016-06-10 18 views
18

così jQuery 3.0 è stato rilasciato oggi, e per qualche ragione il seguente codice non funziona più sul mio sito:

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

Qualcuno può suggerire come posso risolvere questo o un'alternativa che attiva quando/tutto/viene caricato?

+1

Hai letto il [changelog] (https://blog.jquery.com/2016/01/14/jquery-3-0-beta-released/)? –

+0

@ Karl-AndréGagnon Quale sarebbe l'equivalente .on() del mio codice? –

+3

'$ (window) .on ('load', function() {})' –

risposta

54

lettura da breaking-change-load-unload-and-error-removed:

rottura modifica: .load(), unload(), e .error() rimosso

Questi metodi sono collegamenti per le operazioni di evento, ma aveva alcune limitazioni API . Il metodo event .load() è in conflitto con il metodo ajax .load(). Il metodo .error() non può essere utilizzato con window.onerror a causa del modo in cui è definito il metodo DOM. Se è necessario allegare eventi con questi nomi, utilizzare il metodo .on(), ad es. cambia $ ("img"). carica (fn) in $ (img) .on ("carica", fn).

Pertanto, è necessario cambiare:

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

a:

$ (window) .on ("carico", la funzione (e) {})

+2

L'ho modificato in '$ (window) .on ('load', function (e) {})' sulla versione 3.1. 1 ma non funziona ancora – developer

+2

Ho trovato che usando le virgolette singole dopo che 'on' lo ha fatto fallire, ho cambiato il mio codice in' $ (window) .on ("load", function (e) {}) 'now funziona, non so perché le quotazioni contano. – developer

+1

Ok, non sta sparando su nessuno dei due – developer