Aujourd’hui, un petit truc tout con, mais qu’il faut connaitre : comment créer un lien qui ne pointe vers rien ?
En effet, lorsqu’on utilise javascript, on utilise très souvent des liens qui ne renvoient pas vers une autre page, mais comment écrire ces liens ?
On voit très souvent, dans ces cas là, un lien qui pointe vers "#"
. Ce type de lien ne me convient pas, car lorsqu’on clique dessus on est ramené au début de la page. En effet, le # permets de faire des liens vers des ancres dans la page, le # sans nom représente pour le navigateur le début de la page.
Pour faire un lien qui ne va pas déplacer l’utilisateur dans la page, je vous propose deux solutions :
-
le lien sans href : on crée notre balise a, on mets nos évènement javascript si on en a besoin, mais on ne mets pas de href. Ainsi, on n’a pas de lien, et donc pas de déplacement dans la page. Par contre, le texte ne s’affichera pas comme un lien dans le navigateur client : couleur par défaut, pas de soulignement, et curseur par défaut. Il faut donc penser à bien afficher notre lien correctement à l’aide de CSS (vous pouvez notamment utiliser cursor: pointer; pour changer le curseur).
-
le lien javascript : il suffit de faire un lien de la manière suivante :
<a href="javascript:void(0)">
La différence avec la méthode précédente : cette fois notre lien apparait vraiment comme un lien, pas besoin de faire un css spécifique si on veut qu’il s’affiche comme les autres. Mis à part l’affichage, le comportement sera exactement le même : ils ne font rien.
Ainsi, vous pouvez placer du javascript dans vos balises a sans que vos utilisateurs ne cassent tout en cliquant alors qu’il ne fallait pas.