Bitte lesen Sie auf Progressive Enhancement und Unobtrusive JavaScript.
Sie sollten (fast) nie href="#"
haben. Es ist ein Link zu einem undefinierten Anker (der sich oben auf der Seite befindet). Leute, die es normalerweise verwenden, tun dies, weil sie JavaScript davon ablenken wollen.
Wenn Sie einen Link haben, sollte er auf etwas Nützliches hinweisen. Normalerweise wird dies eine andere Seite sein, die serverseitige Technologie verwendet, um den gleichen Effekt zu erzielen (wenn auch weniger schnell), wie es das JavaScript geben würde. Sie können dann das normale Verhalten der Verbindung verhindern.
Zum Beispiel:
<a href="/foo/bar" class="whatever">Foo: Bar</a>
Mit dem Skript:
addEventListener('click', function (ev) {
if (ev.target.classList.contains('whatever')) {
ev.preventDefault();
loadWithAjax(ev.target.href);
}
});
Wenn das JavaScript etwas tut, das nicht entsprechende Funktionalität in einem Link zum Ausdruck gebracht hat, dann sollten Sie nicht verwenden Link an erster Stelle. Verwenden Sie eine <button>
, und ernsthaft in Erwägung ziehen, es zu dem Dokument mit JavaScript/DOM anstelle von HTML hinzuzufügen.
(NB: Ganz wollen viele Leute älteren Browsern unterstützen, die nicht classList
oder addEventListener
checking browser support und die Suche nach Kompatibilität Routinen erkennen ist als eine Übung für den Leser überlassen Verwendung von YUI, jQuery oder ähnliches ist ein Ansatz für den Umgang. mit Kompatibilität)
ich die ZURB Foundation docs nur folgen und sie nutzen href = „#“ im Menüpunkt verbindet –
Ich werde eine Notiz machen nicht vertrauen ZURB dann. – Quentin
Sie können es leer lassen, das ist immer noch gültig – rps