2 Stimmen

Idealer Wert für <a href="?">bei Verwendung für ein JS-Ereignis?

Ich habe einen Link, der auf meiner Seite erscheinen soll,

 <a>add another</a>

Aber das tut es nicht siehe wie einen Link, es sei denn, ich füge ein href zuordnen. Ich werde jquery verwenden, um ein .click() Ereignis zu, so dass es nicht wirklich etwas anderes braucht.

Was ist der beste Wert für href zu? # ? javascript:void(0) ? Meine Sorge ist, wenn jemand darauf klickt, bevor die .click() Ereignis hinzugefügt wird oder so. # werden sie an den Anfang der Seite verschoben, void(0) sieht irgendwie unschön aus und ist nicht informativ, wenn man sich die Adressleiste ansieht...

8voto

Steve Hansell Punkte 16803

Das ideale href-Attribut wäre ein Link zu einer URL, die dieselbe Aktion für Besucher durchführt, die kein JavaScript aktiviert haben. Wenn das nicht notwendig ist, verwende ich normalerweise href="#" und ich habe keine Probleme damit gehabt.

6voto

tvanfosson Punkte 506878

Ich schlage vor, dass der Link zu einer Aktion führt, die "das Richtige" tut, wenn Javascript komplett ausgeschaltet ist. Damit meine ich, dass es zu demselben Effekt führen sollte wie die clientseitigen Aktionen, wenn dies überhaupt möglich ist, oder zu einer Reihe von Schritten, die zu demselben Effekt führen würden. Wenn dies nicht möglich oder wünschenswert ist, sollten Sie den Link nicht anzeigen, bis der Handler angewendet wurde. Das heißt, lassen Sie ihn zunächst " display: none; dann eine show() nachdem der Event-Handler angewendet wurde.

<a href="http://stackoverflow.com/something/add" class="add-item javascript-only">Add Another</a>

<script type="text/javascript">
   $(function() {
       $('.add-item').click( function() {
           ...
           return false; // important!
       });
       $('.javascript-only').show();
  });
</script>

4voto

Josh Stodola Punkte 79569

Ich mache das normalerweise...

<a href="JavascriptDisabled.htm">Foo</a>

Und wenn Sie dann das Klick-Ereignis behandeln, stellen Sie sicher, dass Sie es abbrechen (indem Sie false zurückgeben oder preventDefault aufrufen).

Die Seite JavascriptDisabled.htm enthält lediglich eine freundliche Meldung wie "Sie müssen Javascript aktiviert haben, um diese Funktion nutzen zu können".

1voto

Marcus Adams Punkte 51234

Wenn Sie sich Sorgen machen, dass Sie mit einer einzigen Zeile an den Anfang der Seite springen # geben Sie dem Anker ein Namensattribut und verwenden Sie #anchor-name .

1voto

DA. Punkte 38216

Das Oktothorpe (#) = ist eine schlampige Art und Weise, auf den Anfang der Seite zu verweisen, und hat eigentlich keinen Sinn mehr. Seine Verwendung kann zu Problemen mit der Benutzerfreundlichkeit und Zugänglichkeit führen.

Wenn sich Ihr Link nicht wie ein HTML-Link verhält, dann sollte er auch kein HTML-Link sein.

Wenn es sich um einen Link handelt, sollte er eine gültige URI im href-Attribut haben.

Wenn Sie unbedingt eine Null href haben müssen, dann sollten Sie genau das verwenden: href="javascript:;"

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