Hieronder volgen twee methoden om een link te bouwen die uitsluitend bedoeld is om JavaScript-code uit te voeren. Welke is beter, in termen van functionaliteit, paginalaadsnelheid, validatiedoeleinden, enz.
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
of
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
'#'
brengt de gebruiker terug naar het begin van de pagina, dus ik ga meestal met void(0)
.
javascript:;
gedraagt zich ook als javascript:void(0);
De eerste, idealiter met een echte link om te volgen in het geval dat de gebruiker JavaScript heeft uitgeschakeld. Zorg ervoor dat je false teruggeeft om te voorkomen dat de klik-event afgaat als het JavaScript wordt uitgevoerd.
<a href="#" onclick="myJsFunc(); return false;">Link</a>
Als je Angular2 gebruikt, werkt deze manier ook:
<a [routerLink]="" (click)="passTheSalt()">Click me</a>
.