Ras le bol de devoir return false sur les balises link au click event ?

Si vous aussi vous en avez marre de devoir spécifier (ou carrément d’oublier de spécifier) les return false sur les balises <a href="#"></a> pour éviter que l’internaute soit violemment expulsé en haut de la page quand il clique sur le lien en question, eh bien sachez qu’une lecture rapide de la doc du W3C concernant les balises link vous aurait appris que l’attribut href est optionnel !

Citation W3C :
“Authors may also create an A element that specifies no anchors, i.e., that doesn’t specify href, name, or id. Values for these attributes may be set at a later time through scripts.”
++

Traduction :
“Les auteurs peuvent aussi créer un <a> qui ne spécifie pas d’ancre, par exemple, qui ne spécifie ni href, ni name ou id. Les valeurs pour ces attributs peuvent être set up plus tard via des scripts.”

Il vous est donc possible d’écrire vos liens comme ceci dans vos pages :

# html
<a id="bob" class="leponge">click me!</a>

# js
$('#bob').on('click', function(){
    noNeedToReturnFalseYou(ahahah);
});

# css
a { cursor:pointer; }

Et voilà plus besoin d’annuler le comportement habituel du lien en javascript au moment du click.

4 thoughts on “Ras le bol de devoir return false sur les balises link au click event ?

  1. C’est bien d’ajouter un petit cursor: pointer; à ses liens dans le CSS car certains navigateurs n’affichent pas le bon curseur si il n’y a pas d’attribut href.

      1. Yes !
        Merci pour l’article car je ne savais pas que c’était valide de faire ça, du coup je ne le faisais pas par pure déontologie. :p

  2. Enfin un lien qui n’en est pas un ! Pourquoi ne pas utiliser une autre balise dans ce cas…

    Merci à toi pour cette astuce et au W3C pour nous permettre de faire des choses bizarre !

Leave a Reply