Welchen "href" Wert sollte ich für JavaScript-Links verwenden, "#" oder "javascript:void(0)"?
Im Folgenden werden zwei Methoden zum Aufbau einer Verknüpfung beschrieben, die ausschließlich der Ausführung von JavaScript-Code dient. Welche ist in Bezug auf Funktionalität, Seitenladegeschwindigkeit, Validierung usw. besser?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
oder
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
3969
3
'#'
bringt den Benutzer zurück an den Anfang der Seite, daher verwende ich normalerweisevoid(0)
.javascript:;
verhält sich auch wiejavascript:void(0);
Die erste, idealerweise mit einem echten Link, dem man folgen kann, falls der Benutzer JavaScript deaktiviert hat. Stellen Sie sicher, dass Sie false zurückgeben, um zu verhindern, dass das Click-Ereignis ausgelöst wird, wenn das JavaScript ausgeführt wird.
Wenn Sie Angular2 verwenden, funktioniert dieser Weg:
<a [routerLink]="" (click)="passTheSalt()">Click me</a>
.Siehe hier https://stackoverflow.com/a/45465728/2803344
Verlieren Sie nicht die Tatsache aus den Augen, dass Ihre URL notwendig sein kann - onclick wird ausgelöst, bevor der Verweis verfolgt wird, so dass Sie manchmal etwas clientseitig verarbeiten müssen, bevor Sie die Seite verlassen.