Voglio eseguire una semplice funzione JavaScript su un clic senza alcun reindirizzamento.
C'è qualche differenza o beneficio tra mettere la chiamata JavaScript nell'attributo href
(come questo:
<a href="javascript:my_function();window.print();">....</a>
) vs. metterla nell'attributo onclick
(legandola all'evento onclick
)?
Mettere l'onclick all'interno dell'href offenderebbe coloro che credono fortemente nella separazione del contenuto dal comportamento/azione. L'argomento è che il tuo contenuto html dovrebbe rimanere focalizzato esclusivamente sul contenuto, non sulla presentazione o sul comportamento.
Il percorso tipico in questi giorni è quello di usare una libreria javascript (es. jquery) e creare un gestore di eventi usando quella libreria. Sembrerebbe qualcosa come:
$('a').click( function(e) {e.preventDefault(); /*your_code_here;*/ return false; } );
Personalmente, trovo fastidioso mettere chiamate javascript nel tag HREF. Di solito non presto attenzione al fatto che qualcosa sia un link javascript o meno, e spesso voglio aprire le cose in una nuova finestra. Quando provo a farlo con uno di questi tipi di link, ottengo una pagina bianca con niente sopra e javascript nella mia barra di localizzazione. Tuttavia, questo viene aggirato un po' usando un onlick.