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>

'#' bringt den Benutzer zurück an den Anfang der Seite, daher verwende ich normalerweise void(0).

javascript:; verhält sich auch wie javascript:void(0);

Kommentare (8)

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.

<a href="#" onclick="myJsFunc(); return false;">Link</a>

Wenn Sie Angular2 verwenden, funktioniert dieser Weg:

<a [routerLink]="" (click)="passTheSalt()">Click me</a>.

Siehe hier https://stackoverflow.com/a/45465728/2803344

Kommentare (12)

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.

Kommentare (0)