web-dev-qa-db-fra.com

Comment faire en sorte que HTML affiche un lien, mais ouvre une fonction javascript?

J'ai une page HTML, et j'ai besoin d'un lien pour montrer que l'utilisateur irait à 'exemple.html', alors qu'en réalité, le lien se dirigeait vers 'javascipt: ajaxLoad (exemple.html);'.

EDIT: Je suis allé à stackexchange, et leur solution a fonctionné. Le code HTML irait de ceci: Exemple à ceci: Exemple

La solution, si javascript est activé, est le 'return false;' annulera le lien sur la page et chargera le javascript. Si non, alors il ira à la page dans le href

1
Austin Witherspoon

Avoir le HTML avec un lien de travail dedans qui mène au contenu que vous voulez montrer. Ensuite, utilisez JavaScript pour empêcher le navigateur de les amener sur cette page, puis utilisez Ajax pour afficher le contenu dans la page en cours.

Ceci est appelé amélioration progressive et permet à tout le monde de voir le contenu, que JavaScript soit activé ou non. La manière d'écrire ce code varie en fonction du framework JavaScript que vous utilisez (Prototype, jQuery, MooTools, etc.). Mais le psuedocode ressemblerait à quelque chose comme ceci:

  • sur le chargement DOM attacher un moniteur d'événements à ce lien
  • lorsque ce lien est cliqué, arrêtez l'événement par défaut (le navigateur charge la nouvelle page)
  • Faites votre appel ajax pour obtenir le nouveau contenu
  • Remplacer le contenu existant par le nouveau contenu

Si vous voulez une aide sur le code, vous devrez aller à StackOverflow , car c’est là que sont traitées les questions de codage. Cette question dans sa forme actuelle serait probablement fermée là car elle ne montre aucun effort pour écrire du code. Je suggère donc de commencer à écrire votre propre code et, si vous avez des problèmes, demandez de l'aide pour afficher le code que vous avez jusqu'à présent.

3
John Conde