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 :

Clic() sur DIV superposés


Sujet :

jQuery

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut Clic() sur DIV superposés
    Bonjour @ tous,

    J'ai des DIV enfants dans un DIV parent, tout ça en position absolute.
    J'ai mis un click sur le parent et un autre sur chaque enfant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#divParent").click(function () { alert("ok"); });
    Le problème est que j'aimerais que cet événement ne soit pas prit en compte lors du clic sur un enfant.

    Mon contexte: Lors du clic sur un enfant, je fait apparaitre un div, et si on clique ailleurs que sur un enfant, j'aimerais que ce div se cache.
    Seulement, vu que lors d'un clic sur un enfant, le clic sur le parent se joue aussi, le div apparait et se cache aussitôt.
    Pour info, dans mon dic enfant, il y a une image en background et c'est tout.

    Est ce possible ?

    Merci d'avance.

    David.

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1

  3. #3
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Bonjour SpaceFrog,

    Merci pour ta rapidité.

    Oui, tu as bien saisi, seulement ça ne colle pas car je n'utilise pas un évenement jQuery pour le clic de l'enfant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div onclick="clickElement(this);">...</div>
    Je n'ai pas le choix car ce sont des div construits dynamiquement via de l'AJAX et je suis en MVC.

    Si j'ai bien saisi, event.stopPropagation(); doit se mettre dans l'évenement de l'enfant. Mais si je le met dans la fonction clickElement() qui est dans un fichier js, il me met une erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur*: event is not defined


    Il faut que mon code soit compatible Firefox et IE.

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ben il faut utiliser live() ou delegate() poru tes elements créés dynamiquement

  5. #5
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Bon, je me suis débrouillé... Ca fonctionne !


    Merci pour event.stopPropagation, SF.


    PS: Je ne vois pas la différence entre click et live()... Sinon qu'on peut faire un die().

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    live() permet que les élements créés dynamiquement héritent des évènements associés selon le selecteur jquery

    par exemple si sur le selements de class .thisone tu mets un onclick sur le ready,
    les elements créés dynamiqueemnt àprès ne beneficieront pas du onclick.
    Il faudra declerer le onclick avec un live pour que les elements créés à posteriori aient le même onclick que ses collègues de même classe

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

Discussions similaires

  1. Clic sur div
    Par Elradriel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/01/2015, 22h58
  2. afficher une balise div lors d'un clic sur un lien
    Par jules_diedhiou dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 27/06/2011, 10h16
  3. Réponses: 4
    Dernier message: 05/06/2009, 13h48
  4. onClick sur deux div superposés
    Par sourivore dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/09/2008, 09h27
  5. afficher le contenu d'un div au clic sur un bouton
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 10/07/2006, 17h37

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