IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Javascript et évènements (addEventListener, etc.) ?


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Javascript et évènements (addEventListener, etc.) ?
    Bonjour,

    Voilà, j'ai une liste en html du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id=liste>
    <div><a href="/membres/index.php?action=liste" rel=180 title="Membres" OnMouseOut="tooltip('','','')" onMouseOver="tooltip(this.title,this.rel,'')"><img alt="Membres" src="/membres/im/images/group.png" border="0" /></a></div>
    <div><a href="/membres/index.php?action=liste" rel=200 title="Inviter des amis" OnMouseOut="tooltip('','','')" onMouseOver="tooltip(this.title,this.rel,'')"><img alt="Invite" src="/membres/im/images/invite.png" border="0" /></a></div>
    <div><a href="/membres/profil_9.html" rel=245 title="Profil" OnMouseOut="tooltip('','','')" onMouseOver="tooltip(this.title,this.rel,'')"><img alt="Profil" src="/membres/im/images/profil.png" border="0" /></a></div>
    <div><a href="/membres/messagerie.php" rel=330 title="Messagerie interne" OnMouseOut="tooltip('','','')" onMouseOver="tooltip(this.title,this.rel,'')"> <img alt="Messagerie interne" src="/membres/im/images/email.png" border="0"/></div>
    ...
    </div>
    Je sais qu'il est possible pour chaque ligne de supprimer les "onMouseOver" et "onMouseOut", avec un système d'Event en javascript pour avoir des listes clean (et extensibles) du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id=liste>
    <div><a id="monidtest" href="/membres/index.php?action=liste" rel=180 title="Membres"><img alt="Membres" src="/membres/im/images/group.png" border="0" /></a></div>
    <div><a href="/membres/index.php?action=liste" rel=200 title="Inviter des amis"><img alt="Invite" src="/membres/im/images/invite.png" border="0" /></a></div>
    <div><a href="/membres/profil_9.html" rel=245 title="Profil" ><img alt="Profil" src="/membres/im/images/profil.png" border="0" /></a></div>
    <div><a href="/membres/messagerie.php" rel=330 title="Messagerie interne"> <img alt="Messagerie interne" src="/membres/im/images/email.png" border="0"/></div>
    ...
    </div>
    J'ai essayé en cherchant du côté de "addEventListener" avec par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('monidtest').addEventListener("onmouseover",alert('test'),false);
    mais le problème, c'est qu'elle semble s'exécuter automatiquement (genre je rafraichi la page et ca se lance), alors que je veux qu'elle se lance que sur un "onmouseover"...

    Quelqu'un s'y connait-il ? Ça me serait très utile !

    MERCI d'avance.

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Pour les navigateurs conforme W3C (Firefox, Safari, Opera...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    function traiteEvent(event) {
    //Code de l'événement
    
    }
    
    //NOTER qu'il n'y a pas de onmouseover, simplement mouseover
    //le dernier paramètre correspond à la phase de capture (à découvrir si besoin)
    document.getElementById('monidtest').addEventListener("mouseover", traiteEvent, false);
    
    //pour le supprimer
    document.getElementById('monidtest').removeEventListener("mouseover",  traiteEvent, false);
    Pour IE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function traiteEvent() {
    //Code de l'événement qui utilise window.event
     
    }
     
    document.getElementById('monidtest').attachEvent("onmouseover", traiteEvent);
    //pour le supprimer
    document.getElementById('monidtest').detachEvent("onmouseover", traiteEvent);

    ERE

Discussions similaires

  1. Mot clef javascript: dans événement html
    Par saluts92 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/06/2013, 17h14
  2. Réponses: 0
    Dernier message: 26/12/2010, 02h38
  3. Javascript/JQuery - événement
    Par Mordikkuss dans le forum jQuery
    Réponses: 1
    Dernier message: 29/07/2010, 17h27
  4. classe javascript et évènement
    Par bastien dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/01/2010, 09h24
  5. perte d'événement Javascript
    Par mcrbe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/12/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo