Pourquoi est-il une mauvaise pratique de l'utilisation des liens avec le javascript: “protocole”?

Dans les années 1990, il y avait une façon de mettre du code Javascript directement dans <a> href attributs, comme ceci:

<a href="javascript:alert('Hello world!')">Press me!</a>

Et puis tout à coup, j'ai arrêté de le voir. Ils ont tous été remplacés par des choses comme:

<a href="#" onclick="alert('Hello world!')">Press me!</a>

Pour un lien dont le seul but est de déclencher un code Javascript, et n'a pas de réel href cible, pourquoi est-il encouragé à utiliser les onclick de la propriété au lieu de la href propriété?

  • il n'est pas obsolète.. juste une mauvaise pratique.. comme c'est à l'aide de l'attribut onclick .. recherche pour unobtrusive javascript et progressive enhancement pour les meilleures pratiques.
  • quelle est la différence entre une "mauvaise pratique" et "obsolète", alors?
  • obsolète signifie que ces caractéristiques sont susceptibles de ne pas être pris en charge dans l'avenir..
  • bon alors, fixe le titre.
  • Je dirais même envisager la mauvaise habitude (ou de la pratique?) pour utiliser un <a> balise pour prétendre que c'est un lien vers une page, quand il est seulement un "déclencheur pour JS action" vraiment. Je voudrais examiner à l'aide de <span class="js-trigger">Press me</span> & découpler pertinentes du code javascript en le mettant à l'intérieur d'un distinct fichier JS.
InformationsquelleAutor zneak | 2010-03-19