Nous utilisons couramment des événements de clic dans la balise a :
1. a href="javascript:js_method();"
Il s'agit d'une méthode couramment utilisée sur notre plateforme, mais cette méthode l'est. est facile de causer des problèmes lors de la transmission de paramètres tels que celui-ci, et lorsque le protocole javascript: est utilisé comme attribut href de a, cela provoquera non seulement le déclenchement inutile de l'événement window.onbeforeunload, mais entraînera également l'arrêt de l'image animée GIF. jouer dans IE. Les normes du W3C ne recommandent pas d'exécuter des instructions javascript dans href
2 a href="javascript:void(0);" onclick="js_method()"
Cette méthode est la plus populaire pour. De nombreux sites Web La méthode couramment utilisée est également la méthode la plus complète. La méthode onclick est responsable de l'exécution de la fonction js, et void est un opérateur void(0) qui renvoie un élément non défini et l'adresse ne saute pas. Et cette méthode n’expose pas directement la méthode js à la barre d’état du navigateur comme la première méthode.
3.a href="javascript:;" onclick="js_method()"
Cette méthode est similaire aux 2 méthodes, la seule différence est qu'un code js vide est exécuté.
4.a href="#" onclick="js_method()"
Cette méthode est également un code très courant sur Internet # est une méthode intégrée à la balise, représentant le. rôle de haut. Ainsi, en utilisant cette méthode pour cliquer sur la page Web, vous revenez en haut de la page.
5.a href="#" onclick="js_method();return false;"
Cette méthode renvoie false après avoir cliqué pour exécuter la fonction js, et la page ne sautera pas. Il est toujours à la position actuelle de la page.
J'ai regardé la page d'accueil de Taobao. Ils utilisent la deuxième méthode, tandis que la page d'accueil d'Alibaba utilise la première méthode. La différence avec la nôtre est que la méthode javascript dans chaque href utilise try , catch entouré.
Sur la base de ce qui précède, la méthode la plus appropriée pour appeler les fonctions js dans a est recommandée :