Ich versuche, einen bestimmten Link zu deaktivieren und den Cursorstil anzuwenden, aber dieser CSS-Befehl cursor: text;
wirkt sich nicht aus. Der Cursor ist immer Standard. Ich verwende die neueste Firefox-Version.
CSS:
pointer-events: none !important;
cursor: text;
color: Blue;
Antworten:
Mit
pointer-events: none
werden alle Maus - Interaktionen deaktivieren mit diesem Element. Wenn Sie diecursor
Eigenschaft ändern möchten, müssen Sie die Änderungen auf das übergeordnete Element anwenden. Sie können den Link mit einem Element umschließen und diecursor
Eigenschaft hinzufügen .Beispiel hier
HTML
CSS
Es gibt jedoch einige Browser-Inkonsistenzen. Damit dies in IE11 funktioniert, benötigen Sie anscheinend ein Pseudoelement. Mit dem Pseudoelement können Sie auch den Text in FF auswählen. Seltsamerweise können Sie den Text in Chrome ohne ihn auswählen.
Beispiel aktualisiert
quelle
Die ursprüngliche Frage ist schon ziemlich lange her, aber dies ist meine Lösung ohne Wrapping-Element und Cursor ohne Zeigerereignisse:
CSS:
CodePen-Beispiel
BEARBEITEN:
onfocus="this.blur()"
, das Element unscharf zu stellen.quelle
Durch die Angabe
pointer-events:none
erklären Sie aktiv, dass keine Mausinteraktion zwischen dem Element und dem Cursor besteht. Daher kann es auch keinen Cursor haben - es ist für alle Mausverhalten unsichtbar .Beweis hier zu finden .
quelle
Entfernen
pointer-events: none !important;
. Deaktivieren Sie den Link mit JavaScript:Wenn Sie nicht wissen, dass JavaScript
anchorElement
der Knoten oder das Element selbst ist. Der häufigste Weg, um ein Element zu erhalten, ist die Verwendung des HTML-id
Attributs. Nehmen wir an, wir haben:Ihr Code könnte sein:
Es gibt eine Reihe anderer Möglichkeiten, um Knoten zu erhalten.
quelle
Mein Anwendungsfall war ein ziehbares Element, das weder ein Zeigerereignis noch ein übergeordnetes Element mit einem Zeigerereignis haben konnte.
Ich habe es gelöst, indem ich einen globalen Stil bedingt angewendet habe, der einen Greifcursor nur beim Ziehen erzwingt. (Ich verwende React und Styled-Komponenten, aber die gleiche Logik kann auf Vanilla Js angewendet werden.)
quelle
Sie können ein anderes Div erstellen und es genau auf Ihrem letzten Div positionieren und ein CSS wie dieses erstellen:
quelle
Anstelle von Wrapper kann dies auch von innen mit reinem CSS erfolgen. (Ich verwende dies mit Material-Webkomponenten, damit der Code etwas komplexer wird.)
Ich habe auch versucht ,
::before
und::after
mitbutton:disabled
direkt, aber konnte einfach nicht machen es möglich ...quelle