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 :

Évènement onclick sur deux élements span imbriqués


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 16
    Par défaut Évènement onclick sur deux élements span imbriqués
    Bonjour à tous,

    Si on considère le code simplifié suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="cursor:pointer" onclick="alert(1);">Ceci est un <span style="cursor:pointer" onclick="alert(2);">test</span>.</span>
    Lorsqu'on clique sur "Ceci est un", "1" s'affiche.
    Par contre, quand on clique sur "test", "2" s'affiche puis "1".
    Est-il possible de faire en sorte pour ce dernier cas qu'uniquement "2" s'affiche ?

    Précision : je travaille uniquement sur Firefox 3.

    Merci !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il faut stopper la propagation de l'événement, via le paramètre event passé en paramètre de la fonction anonyme sous Firefox ou l'objet window.event sous IE :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <span onclick="alert(1);" style="cursor: pointer;">Ceci est un <span onclick="alert(2);event.stopPropagation ? event.stopPropagation() : event.cancelBubble" style="cursor: pointer;">test</span>.</span>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 16
    Par défaut
    Merci Bovino !
    J'avais trouvé de la doc sur la fonction stopPropagation, mais j'arrivais pas à l'appliquer dans le cas présenté au dessus : là c'est parfait !

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Elinyhs Voir le message
    Merci Bovino !
    J'avais trouvé de la doc sur la fonction stopPropagation, mais j'arrivais pas à l'appliquer dans le cas présenté au dessus : là c'est parfait !
    Ce qu'il faut savoir, c'est qu'un attribut du type
    en HTML crée en fait une fonction anonyme du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTMLElement.onclick = function(event){...}
    sauf bien sûr pour IE pour qui event est un objet global, mais comme window est toujours implicite (car objet de plus haut niveau), event est toujours défini dans la fonction
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/09/2010, 10h27
  2. Déclencher l'évènement onclick sur une balise <img>
    Par Marc22 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2010, 14h22
  3. onClick sur deux div superposés
    Par sourivore dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/09/2008, 09h27
  4. événement onclick sur une case de tableau
    Par Mathieu72 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 25/03/2007, 17h24
  5. onclick sur deux éléments superposés et IE6
    Par sovitec dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/12/2005, 13h56

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