Tags Javascript et ancre, meilleure pratique?
Question Rapide.
Faut-il mettre du Javascript dans le HREF, ou utiliser onClick (événement)?
Existe-il des avantages/inconvénients à l'utilisation de l'un. Personnellement, je pense que c'est plus facile/plus propre simple de mettre le code dans le href, et ne pas avoir de fausse déclaration ou de se soucier de sauter à #
Sont-ils connus et navigateur des questions spécifiques à chaque méthode...
Exemples:
<a href="javascript: alert('foo!');">Click Me</a>
<a href="#" onClick="alert('foo!');return false">Click Me</a>
<a href="javascript:void(0)" onclick="alert('foo!');">Click Me</a>
source d'informationauteur Weston Watson
Vous devez vous connecter pour publier un commentaire.
1) Plutôt utiliser onclick. Assurez-vous d'avoir une utilisation rationnelle de secours URL dans
href
lors de la JS n'est pas autorisé.2) Plutôt que de
onclick="..."
vous devez utiliser le gestionnaire d'événement.Trouver des éléments à l'aide de jQuery ou XPath, et puis, pour chacun, appel
element.addEventListener()
.Ou à l'ancienne...
Gardant le code distinct de l'html, c'est plus propre de l'OMI.
Alors en chef ou de les séparer fichier js:
Je serais personnellement pas mettre le code JavaScript dans le HTML. Vous devez utiliser un écouteur d'événement qui sera déclenché lorsque le
<a>
est cliqué.Et puis:
Dans l'événement onclick (bien qu'affecté avec JS au lieu de l'attribut) avec un sensible attribut href. Construire sur des choses qui fonctionnent
Généralement, je externaliser le code JavaScript mais l'utilisation de la
href
l'appeler:<a href="javascript:foo('bar!');">Click Me</a>
Bien que je pense de votre rapide
alert
exemple est fine comme une exception à la règle.Toutefois, si vous utilisez une bibliothèque JS comme jQuery vous pouvez bien sûr associer directement des événements - voir le premier exemple en jQuery tutoriel qui ressemble à l'ancrage de l'élément http://docs.jquery.com/Tutorials:How_jQuery_Works