2014-04-17 17 views
5

Non so il motivo per cui questo non funziona:javascript evento resize non funziona

window.addEventListener('load', setSize(), false); 
window.addEventListener('resize', setSize(), false); 

function setSize(){ 
    width = window.innerWidth; 
    console.log(width); 
} 

Si registra il diritto di larghezza dopo il carico, ma non lo fa quando ho ridimensionare.

risposta

18
window.addEventListener('load', setSize(), false); 
window.addEventListener('resize', setSize(), false); 

dovrebbe essere:

window.addEventListener('load', setSize, false); 
window.addEventListener('resize', setSize, false); 

Invece di eseguire la funzione, dobbiamo passare un riferimento ad esso.

+2

@OP - nota che la differenza è 'setSize()' passerà THE RESULT come argomento, e 'setSize' passerà la funzione stessa come argomento. Questa è la differenza. –