Se il gestore di eventi è dichiarato nel markup, sarebbe (tipo) di aggiungere la logica di presentazione all'HTML.
<button id="btn" onClick="foo()">Click Me!</button>
Se il gestore di eventi è dichiarato nello script, sarebbe (tipo) difficile da guardare il codice e capire quale pulsante fa.
document.getElementById('btn').onclick=foo;
Esistono best practice per questo scenario?
Il motivo di questa domanda è che stavo collegando i gestori di eventi sul caricamento della pagina tramite lo script. Tuttavia, mi sono imbattuto in un problema in cui l'elemento DOM potrebbe non essere presente quando la pagina viene caricata (sto usando l'associazione if di KnockoutJS) e l'evento non è associato al gestore. Per collegare il gestore come e quando la condizione if è soddisfatta complicherebbe ulteriormente il codice. Quindi ora sto pensando di spostare i miei gestori sul bind click . Quali potrebbero essere le potenziali insidie e quali migliori pratiche dovrei seguire per evitarli?