Aller au contenu

Eclaircicement sur les event


Strasha

Sujets conseillés

Salut a tous,

J'ai une page de catalogue qui affiche des images en dynamique gace a une fonction php

J'aimerai attribuer a chaque image un evenement onmouseover et onmouseout afin de faire apparaitre une infobulle avec l'image plus grande donc au survol de la souris.

Mais voila j'ai l'impression que mes evenement ne sont pas detecte lorsque ma pages s'affiche resultat je peux podre le code que je veux pour la fonction infobulle queudschi!!!!!

J'ai regarde sur un site qui fait a peu pres ce que je veux ( motoblouz.fr) et j'ai remarqué en zieutant un peu la source qu'a chaue image du catalogue il y avait une fonction addeventlistener, donc je me suis dit que c t une bonne piste.

Mais voila probleme je ne sais pas comment faire pour integrer cette fonction a chaque image : dois je faire figurer le code a l'endroit des images ou comme tout bon script en debut de projet avec appel a la fonction lorsque je genere mes images?

J'aimerai donc qu'une ame charitable et eclairée me donne conseil car je l'avoue je suis un peu en vrac ( pas beaucoup de resultat ans mes recherches google!!!)

A votre bon coeur

Strasha

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

addeventlistener sert à ajouter une référence à la pile d'événements d'un objet, dans le cas d'html, une balise.

Par exemple, si tu veux faire apparaître un alert "hello" au click sur un lien en js ça donne :

<a id="lien" href="#">mon lien</a>

<script>

function envoiAlert()
{
alert('hello');
}

//recup du lien
var lien = document.getElementById('lien');
//ajout de l'événement à la pile
lien.addEventListener('click', envoiAlert, false);
</script>

Le souci : IE ne connaît pas addEventListener, il faut donc le gérer avec attachEvent. La plupart des gens utilisent une fonction qui gère les deux à la fois qui ressemble à ceci :

<script>
addEvent = function(el,type,method)
{
if(el.attachEvent)
el.attachEvent('on'+type,method);
else if(el.addEventListener)
el.addEventListener(type, method, false);
}
</script>

Quoi qu'il en soit c'est pénible, car récupérer le sender est assez chiant dans certains cas avec IE, c'est pourquoi beaucoup utilisent des framework style yahoo, très bien fait qui épargnent beaucoup d'arrachage de cheveux.

Je ne sais pas si cela peut t'aider pour ton problème, mais voilà un petit éclaircissement sur les event, par ailleurs, HTML5 apportera son lot d'amélioration, avec des piles d'événements pour tous, espérons le :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...