document.addEventListener("DOMContentLoaded", function() {
initialiseMediaPlayer();
}, false);
Sarà eseguito initialiseMediaPlayer
quando il contenuto viene caricato dom.
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer();, false);
è un errore di sintassi; se si rimuove il punto e virgola:
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer(), false);
chiamate initialiseMediaPlayer
immediatamente, quindi passa il valore di ritorno (che probabilmente non è una funzione) per addEventListener
. Questo non funzionerà come desiderato.
Si può fare
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer, false);
(rimuovere la parentesi = chiamata di funzione). Quindi initialiseMediaPlayer
verrà eseguito su contenuto dom caricato e funzionerà come desiderato.
Tuttavia, a differenza del primo caso, initialiseMediaPlayer
riceverà effettivamente gli argomenti forniti dal browser. Inoltre, il suo valore di ritorno viene ricevuto dal browser. In caso di DOMContentLoaded
, molto probabilmente questo non importa molto.
Si evita inoltre di creare una funzione anonimo aggiuntiva se si passa direttamente a initialiseMediaPlayer
. Di nuovo, l'effetto non è realmente percepibile dal punto di vista dell'utente.
fonte
2013-03-06 19:16:12
Quest'ultimo non farà ciò che si pensa –
Quest'ultimo è un errore di sintassi –
Si sta passando il valore di ritorno di initialiseMlayerPlayer al listener di eventi. Rimuovi l'invocazione() e saranno gli stessi – danronmoon