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

jQuery Discussion :

Evènement click dans block sauf si click dans block à l'intérieur


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut Evènement click dans block sauf si click dans block à l'intérieur
    Hello,

    j'ai un problème en jquery au niveau de la sélection sur un click. Voici mon code HTML :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class='container'>
        <div class='block'></div>
        <!-- D'autres trucs... -->
    </div>

    J'aimerai lancer une action quand on clique sur "container" peut-importe où se trouve le curseur, puis une deuxième action SAUF SI on a cliqué dans "block".

    Or avec $(this), je n'arrive pas à retrouver cette info (ce qui me parait logique aussi).

    Merci pour votre aide !

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2016
    Messages : 42
    Par défaut
    Salut,

    En utilisant la propriété target de l'évènement, je pense :

    https://api.jquery.com/event.target/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $('.container').click(function (e) {
        // Première action
     
        if ($(e.target).hasClass('block')) {
            return;
        }
     
        // Deuxième action
    });
    ++

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ou ou en bloquant la propagation du click sur le block contenu ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par jeremylevy Voir le message
    En utilisant la propriété target de l'évènement, je pense :
    Oui, mais attention au code :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class='container'>
      <p>Un texte avant</p>
      <div class='block'>
        <p>Un texte à l'intérieur</p>      
      </div>
      <p>Un texte après</p>
    </div>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( "div.container").on( "click", function( e ){
      console.log( "Première action" );
      
      if ( $( e.target ).parents( "div" ).hasClass( "block" ) ){
        return;
      }
      
      console.log( "Seconde action" );
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Ok, merci pour les réponses l'utilisation de target fonctionne parfaitement en effet.

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

Discussions similaires

  1. [Débutant] Suppression Row dans une DataGridView avec click droit
    Par didou038 dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/01/2015, 17h37
  2. Ajouter des valeurs dans une listebox sur click
    Par bobosh dans le forum VBA Access
    Réponses: 8
    Dernier message: 11/08/2008, 13h47
  3. Click Event ne se déclenche pas dans UserControl
    Par riric85 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/04/2008, 15h22
  4. [HTML] Valeur dans champ INPUT, dès click la valeur disparait.
    Par bilou95 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/03/2008, 12h37
  5. [RegEx] Tout sauf un mot dans une REGEX?
    Par Death83 dans le forum Langage
    Réponses: 4
    Dernier message: 02/08/2006, 11h12

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