4 Stimmen

Href="#" fügt # am Ende der Seiten-URL hinzu

Sagen wir, ich habe folgenden Link:

Klick mich!

Wenn dieser Link angeklickt wird, wird eine Meldung angezeigt und ein Rautezeichen am Ende der Seiten-URL angehängt.
Das sieht nicht sehr schön aus, gibt es einen anderen Weg, um dies zu vermeiden, außer JavaScript direkt in der URL zu verwenden:

Klick mich!

6voto

Sie müssen verhindern, dass die Standardantwort stattfindet.

Der altmodische Ansatz besteht darin, return false zurückzugeben:

Klick mich!

Oder besser:

Klick mich!

window.onload = function() {
   document.getElementById('myLink').onclick = function(event) {
      alert('Sie haben auf einen Link geklickt.');
      return false;
   };
};

Der beste Ansatz heutzutage besteht darin, die richtige Methode der event Eigenschaft aufzurufen:

Klick mich!

window.onload = function() {
   document.getElementById('myLink').onclick = function(event) {
      alert('Sie haben auf einen Link geklickt.');
      event.preventDefault(); // <---
   };
};

Es ist auch am besten, das # durch eine URI zu einer geeigneten Seite zu ersetzen, für Personen, die kein JavaScript verwenden. In einigen Rechtssystemen ist Barrierefreiheit tatsächlich eine gesetzliche Anforderung.

Bearbeiten Behoben für blödes IE:

function f() {
   document.getElementById('myLink').onclick = function(e) {
      alert('Sie haben auf einen Link geklickt.');

    if (!e) {
       var e = window.event;
    }

    // e.cancelBubble wird von IE unterstützt - dies wird den Bubbling-Prozess beenden.
    e.cancelBubble = true;
    e.returnValue  = false;

    // e.stopPropagation funktioniert nur in Firefox.
    if (e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
};

window.onload = f;

4voto

bradley.ayers Punkte 35163

Der Trick ist return false im Event-Handler.

Klicke mich an!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X