Maison >interface Web >tutoriel CSS >Comment puis-je désactiver efficacement les hyperliens en HTML dans différents navigateurs ?
Problème :
Désactivation d'un bouton de lien dans une cellule de tableau (
Cause :
La désactivation directe des balises d'ancrage () n'est pas prise en charge de manière standard.
Solutions :
En utilisant CSS, vous pouvez désactiver les événements de pointeur pour liens :
a.disabled { pointer-events: none; }
Avantages : Il s'agit de la méthode préférée avec une bonne prise en charge entre navigateurs.
Inconvénients : Désactive uniquement les interactions de pointeur, pas la navigation au clavier.
Empêchez le lien d'obtenir le focus en définissant un tabindex négatif :
<a href="#" disabled tabindex="-1">...</a>
Avantages : Désactive la navigation au clavier ainsi que les interactions avec le pointeur.
Inconvénients : La compatibilité avec plusieurs navigateurs doit être testée.
Lier un gestionnaire de clics qui vérifie l'état désactivé et empêche l'action par défaut :
$("td > a").on("click", function(e) { if ($(this).is("[disabled]")) { e.preventDefault(); } });
Avantages : Fonctionne dans la plupart des navigateurs avec divers gestionnaires d'événements.
Inconvénients : Nécessite JavaScript et modifie le comportement du lien de manière plus significative .
Supprimer l'attribut href de le lien :
$("td > a").each(function() { this.data("href", this.attr("href")) .attr("href", "javascript:void(0)") .attr("disabled", "disabled"); });
Avantages : Une solution plus directe qui altère la fonctionnalité du lien.
Inconvénients : Peut ne pas être compatible avec toutes les méthodes de navigation liens.
Ajoutez un gestionnaire de clics qui renvoie toujours false :
$("td > a").attr("disabled", "disabled").on("click", function() { return false; });
Avantages : Fonctionnalité similaire à celle de la méthode précédente.
Inconvénients : Peut introduire des fuites de mémoire ou d'autres problèmes dans certains navigateurs.
Ajouter des styles CSS pour indiquer visuellement désactivé liens :
a[disabled] { color: gray; }
Inclure l'attribut aria-disabled="true" pour l'accessibilité :
<a href="#" disabled tabindex="-1" aria-disabled="true">...</a>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!