112 votes

Comment rendre un lien d'ancrage non cliquable ou désactivé ?

J'ai un lien d'ancrage que je veux désactiver une fois que l'utilisateur a cliqué dessus. Ou bien, supprimer la balise d'ancrage autour du texte, mais conserver le texte.

<a href='' id='ThisLink'>some text</a>

Je peux le faire facilement avec un bouton en ajoutant .attr("disabled", "disabled");
J'ai réussi à ajouter la propriété "disabled", mais le lien était toujours cliquable.
Je me fiche de savoir si le texte est souligné ou non.

Un indice ?

Lorsque vous cliquez sur le mauvais musicien, la mention "Mauvais" devrait être ajoutée et il ne devrait plus être possible de cliquer dessus.
Lorsque vous cliquez et que vous avez raison, le système devrait ajouter "Awesome" et désactiver tous les autres. <a> étiquettes.

4voto

Explosion Pills Points 89756

Il suffit de retirer le href de la balise d'ancrage.

4voto

Pankaj Points 381

Les commentaires de Jason MacDonald ont fonctionné pour moi, testés dans Chrome, Mozila et IE.

Ajout d'une couleur grise pour montrer l'effet de désactivation.

.disable_a_href{
    pointer-events: none;
    **color:#c0c0c0 !important;**
}

Jquery ne sélectionnait que le premier élément de la liste d'ancres. Nous avons ajouté le méta-caractère (*) pour sélectionner et désactiver tous les éléments avec l'id. #ThisLink .

$("#ThisLink*").addClass("disable_a_href");

3voto

Muhammad Nasir Points 231

Créer la classe suivante dans la feuille de style :

  .ThisLink{
           pointer-events: none;
           cursor: default;
    }

Ajoutez cette classe à votre lien de manière dynamique comme suit.

 <a href='' id='elemID'>some text</a>

    //   or using jquery
<script>
    $('#elemID').addClass('ThisLink');
 </script>

2voto

Black Mamba Points 2255

Voici la méthode que j'ai utilisée pour désactiver le système.

$("#ThisLink").attr("href","javascript:;");

1voto

Floyd Pink Points 4438

Essayez ceci :

$('a').contents().unwrap();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X