Ho visto i seguenti metodi per inserire codice JavaScript in un <a>
tag:
function DoSomething() { ... return false; }
<a href="javascript:;" onClick="return DoSomething();">link</a>
<a href="javascript:DoSomething();">link</a>
<a href="javascript:void(0);" onClick="return DoSomething();">link</a>
<a href="#" onClick="return DoSomething();">link</a>
Comprendo l'idea di provare a inserire un URL valido invece del solo codice JavaScript, nel caso in cui l'utente non abbia JavaScript abilitato. Ma ai fini di questa discussione, devo presumere che JavaScript sia abilitato (non possono accedere senza di esso).
Personalmente mi piace l'opzione 2 in quanto ti consente di vedere cosa verrà eseguito, particolarmente utile durante il debug in cui sono presenti parametri passati alla funzione. L'ho usato un po 'e non ho riscontrato problemi con il browser.
Ho letto che le persone consigliano 4, perché fornisce all'utente un vero link da seguire, ma in realtà # non è "reale". Non andrà assolutamente da nessuna parte.
Ce n'è uno che non è supportato o è davvero pessimo, quando sai che l'utente ha JavaScript abilitato?
Domanda correlata: Href per collegamenti JavaScript: "#" o "javascript: void (0)"? .