11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Ma question est à la fois très simple mais la réponse me semble introuvable alors c'est pourquoi je fait appelle à vous :

J'ai un lien comme ceci par exemple :
<a href="page.html" onlick="mafonction();">Mon lien</a>

Et je voudrais, via JavaScript que quand on click sur le lien, la fonction "mafonction" soit éxécutée mais aussi une autre fonction "monautrefonction" avant celle-ci...

Est-ce possible ? :o

Merci Smiley smile

NB: Les réponses du genre "met onclick='mafonction();monautrefonction();'" ne sont pas les bienvenues Smiley langue
Modifié par samuel2202 (11 Aug 2008 - 04:37)
Bonjour,

L'utilisation des gestionnaires d'événements est très fortement recommandée. Smiley smile

Une recherche sur addEventListener devrait te mettre sur la voie. Smiley cligne
Modifié par yodaswii (11 Aug 2008 - 09:58)
a écrit :
En effet, j'ai trouver des idées sur les deux méthodes "addEventListener" et "attachEvent". Seulement, ces méthodes ne sont pas accessibles sur tous les navigateurs.


Plus précisément, attachEvent est le "addEventListener" de Microsoft Internet Explorer ...

Tu te compliques quelque peu la tâche avec ta fonction. Smiley smile

Plus simple, il te suffit juste d'écrire une fonction qui va permettre d'indiquer si on ajoute une fonction à un événement d'un élément via addEventListener ou via attachEvent. Soit :


function addEvent(element, evenement, execution)
{
if (element.addEventListener)
{
element.addEventListener(evenement, execution, false);
}
else
{
element.attachEvent('on' + evenement, execution, false);
}
} 


Il ne reste plus qu'à l'utiliser.
Le nombre d'affectation n'est ainsi plus limité. Smiley cligne