Více na
Jakou hodnotu "href" mám použít pro odkazy v JavaScriptu, "#" nebo "javascript:void(0)"?
Následují dva způsoby vytvoření odkazu, jehož jediným účelem je spuštění kódu JavaScriptu. Který z nich je lepší z hlediska funkčnosti, rychlosti načítání stránky, validace atd.?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
nebo
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
3969
3
'#'
vrátí uživatele zpět na začátek stránky, takže obvykle používámvoid(0)
.javascript:;
se také chová jakojavascript:void(0);
První z nich, ideálně se skutečným odkazem pro případ, že má uživatel vypnutý JavaScript. Jen se ujistěte, že vrací false, aby nedošlo k vyvolání události kliknutí, pokud se JavaScript spustí.
Pokud používáte Angular2, funguje tento způsob:
<a [routerLink]="" (click)="passTheSalt()">Click me</a>
.Viz zde https://stackoverflow.com/a/45465728/2803344
Nezapomínejte na to, že vaše adresa URL může být nutná - funkce onclick se spustí dříve, než následuje odkaz, takže někdy budete muset zpracovat něco na straně klienta předtím, než přejdete mimo stránku.