Daugiau
Kokią "href" reikšmę turėčiau naudoti "JavaScript" nuorodoms: "#" ar "javascript:void(0)"?
Toliau pateikiami du nuorodos, kurios vienintelis tikslas - paleisti "JavaScript" kodą, kūrimo būdai. Kuris iš jų yra geresnis funkcionalumo, puslapio įkėlimo greičio, patvirtinimo ir kt. požiūriu?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
arba
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
3969
3
'#'
vartotoją grąžins į puslapio viršų, todėl paprastai naudojuvoid(0)
.javascript:;
taip pat elgiasi kaipjavascript:void(0);
Pirmoji, geriausia su tikra nuoroda, kurią reikia sekti, jei naudotojas išjungęs "JavaScript". Tik įsitikinkite, kad grąžinama false, kad paspaudimo įvykis neįsijungtų, jei "JavaScript" įvyksta.
Jei naudojate "Angular2", šis būdas veikia:
<a [routerLink]="" (click)="passTheSalt()">Click me</a>
.Žr. čia https://stackoverflow.com/a/45465728/2803344
Nepamirškite, kad gali prireikti URL adreso - "onclick" paleidžiamas prieš sekant nuorodą, todėl kartais prieš pereinant iš puslapio reikės apdoroti ką nors kliento pusėje.