Problem:
Deaktivieren einer Linkschaltfläche innerhalb einer Tabellenzelle (
Ursache:
Das direkte Deaktivieren von Ankertags () wird standardmäßig nicht unterstützt.
Lösungen:
Mit CSS können Sie die Zeigerereignisse für deaktivieren Links:
a.disabled { pointer-events: none; }
Vorteile: Dies ist die bevorzugte Methode mit guter browserübergreifender Unterstützung.
Nachteile: Deaktiviert nur Zeigerinteraktionen, keine Tastaturnavigation.
Verhindern Sie, dass der Link den Fokus erhält Festlegen eines negativen Tabindex:
<a href="#" disabled tabindex="-1">...</a>
Vorteile: Deaktiviert die Tastaturnavigation sowie Zeigerinteraktionen.
Nachteile: Die Kompatibilität mit mehreren Browsern sollte getestet werden.
Binden Sie einen Klick-Handler, der den deaktivierten Status überprüft und verhindert die Standardaktion:
$("td > a").on("click", function(e) { if ($(this).is("[disabled]")) { e.preventDefault(); } });
Vorteile: Funktioniert in den meisten Browsern mit verschiedenen Event-Handlern.
Nachteile: Erfordert JavaScript und ändert das Verhalten des Links stärker erheblich.
Entfernen Sie das href-Attribut aus dem Link:
$("td > a").each(function() { this.data("href", this.attr("href")) .attr("href", "javascript:void(0)") .attr("disabled", "disabled"); });
Vorteile: Eine direktere Lösung, die die Funktionalität des Links verändert.
Nachteile: Möglicherweise nicht mit allen Methoden zum Navigieren in Links kompatibel .
Fügen Sie einen Klick-Handler hinzu, der immer zurückkehrt false:
$("td > a").attr("disabled", "disabled").on("click", function() { return false; });
Vorteile: Ähnliche Funktionalität wie die vorherige Methode.
Nachteile: Kann in einigen Browsern zu Speicherverlusten oder anderen Problemen führen.
Fügen Sie CSS-Stile hinzu, um die Deaktivierung visuell anzuzeigen Links:
a[disabled] { color: gray; }
Fügen Sie das Attribut aria-disabled="true" für Barrierefreiheit ein:
<a href="#" disabled tabindex="-1" aria-disabled="true">...</a>
Das obige ist der detaillierte Inhalt vonWie kann ich Hyperlinks in HTML in verschiedenen Browsern effektiv deaktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!