Seuraavassa on kaksi tapaa rakentaa linkki, jonka ainoana tarkoituksena on JavaScript-koodin suorittaminen. Kumpi on parempi toiminnallisuuden, sivun latausnopeuden, validointitarkoitusten jne. kannalta?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
tai
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
'#'
vie käyttäjän takaisin sivun alkuun, joten käytän yleensä void(0)
.
javascript:;
käyttäytyy myös kuten javascript:void(0);
.
Ensimmäinen, mieluiten oikean linkin kanssa, jota voi seurata, jos käyttäjältä on poistettu JavaScript käytöstä. Muista palauttaa false, jotta klikkaustapahtuma ei syty, jos JavaScript suoritetaan.
<a href="#" onclick="myJsFunc(); return false;">Link</a>
Jos käytät Angular2:ta, tämä tapa toimii:
<a [routerLink]="" (click)="passTheSalt()">Klikkaa minua</a>
.
Katso tästä https://stackoverflow.com/a/45465728/2803344