Wenn ich einen Link für eine JavaScript-Aktion verwende, mache ich normalerweise so etwas:
%Vor%Wenn jemand auf den Link klickt, bevor die Seite geladen wird, passiert nichts Schlimmes.
In meinem aktuellen Projekt verwende ich dasselbe Konstrukt, aber mit einem Basis-Tag:
%Vor%Wenn die Seiten-URL jedoch lautet:
%Vor%Durch Klicken auf den Link navigieren Sie zu
%Vor%statt
%Vor%Wie kann ich das beheben?
Entfernen Sie entweder Ihr base
-Tag oder ändern Sie Ihre href
-Attribute, um voll qualifiziert zu sein. Was Sie beobachten, ist das beabsichtigte Verhalten, wenn Sie base
mit a
Elementen mischen.
Wenn Sie ein a-Tag verwenden möchten, ist eine andere Lösung, # nicht als href-Ziel zu verwenden (wenn Sie keins angeben, bewirkt dies einen Sprung an den Anfang der Seite, was ich nicht für wünschenswert halte). Was Sie tun können, ist:
%Vor%Wirklich, aber wenn Sie etwas tun, das ein Tag sein muss, dann ist eine Spanne die beste Wahl:
CSS:
%Vor%HTML:
%Vor% Geben Sie false
für das Ereignis onclick
zurück, um den Link zu deaktivieren:
(Dies ist nur ein Beispiel dafür, wie Sie es inline machen würden. Versuchen Sie jedoch, Inline-Deklarationen zu vermeiden und Techniken der progressiven Verbesserungen zu verwenden .)
Ich hatte das gleiche Problem in der Vergangenheit.
Ich hatte einen Link, den ich leer sein wollte, um auf die aktuelle Seite zu verlinken.
Ohne das Basis-HTML-Element ist dies nur ein a
-Element mit href="#"
.
Mein Beispiel, ohne das base
html Element zu verwenden,
Das gleiche Beispiel mit der gefundenen Lösung,
%Vor% Mit der ersten CSS-Regel cursor: pointer !important;
stelle ich sicher, dass dieser Link das richtige (für meinen Fall) Zeigersymbol hat.
Mit der zweiten Regel pointer-events: none;
stelle ich sicher, dass dieser Link nicht anklickbar ist.
Sie können mehr über diese Regel nach diesem Link erfahren.
Sie können href
Attribut einfach aus Ihrem <a>
-Tag entfernen.
Tags und Links javascript html hash base-tag