web-dev-qa-db-fra.com

Est-il possible de cacher le titre d'un lien avec CSS?

J'ai un élément d'ancrage avec un attribut title. Je souhaite masquer la fenêtre contextuelle qui apparaît lorsque vous la survolez dans la fenêtre du navigateur . Dans mon cas, il n’est pas possible de procéder de la sorte,

$("a").attr("title", "");

À cause de jQuery Mobile, le titre réapparaîtra après certains événements (essentiellement à chaque fois que l'élément d'ancrage est redessiné) . J'espère donc pouvoir cacher le titre via CSS.

Quelque chose comme:

a[title] {
    display : none;
}

ne fonctionne pas, car il cache tout l'élément d'ancrage. Je veux cacher le titre seulement. Est-ce seulement possible? La popup ne devrait pas s'afficher.

23
Jonas Tepe

En utilisant la propriété CSS suivante, vous vous assurez que le texte de l'attribut title n'apparaît pas en survol:

pointer-events: none;

Gardez à l'esprit que JS est une meilleure solution car cette propriété CSS garantit que l'élément n'est jamais la cible d'événements de souris.

13
Blake Frederick

Selon la suggestion de @ boltClock, je dirai que je ne pense pas qu'une solution CSS soit appropriée ici, car le navigateur décide quoi faire avec l'attribut title d'un lien, ou quoi que ce soit d'autre. CSS, à ma connaissance, est incapable de gérer ce problème. 

Comme mentionné, utiliser jQuery pour remplacer le titre par une chaîne vide ne fonctionnera pas car jQuery mobile les réécrit à certains moments. Ceci, cependant, fonctionnera indépendamment de JQM et n'impliquera pas la suppression complète de l'attribut title qui est important pour le référencement. 

Cela marche:

$('a["title"]').on('mouseenter', function(e){
    e.preventDefault();
});

J'ai changé mon code initial de $('body').on('mouseenter') à ceci après le test. Ceci est confirmé pour fonctionner.

9
Todd

Vous pouvez envelopper votre texte intérieur dans une étendue et lui attribuer un attribut de titre vide.

<a href="" title="Something" class=".some-tooltip-class"><span title="">Your text</span></a>
2
Arjan Frans

essayez de changer votre code en utilisant ceci

$(document).ready(function() {
    $("a").removeAttr("title");
});

cela enlèvera l'attribut title pour que l'étiquette ne soit pas visible lors du survol du lien 

0
mustafa-elhelbawy