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 :

onblur onclick javascript


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut onblur onclick javascript
    Bonjour,
    J'ai un script qui crée un Div constitué de plusieur div.Chaque div contient un evenement onclick .Le div est constitué a partir des élément saisi dans une imput (recherche autocompletion).
    Quand je clic sur un div (sous format de option d un select) l'input est rempli par cette donnée et le grand div se cache .
    Objectif : intégrer le onblur, c'esta dire quand je clic dehors le div se disparu sans rien alimenter.
    Ce qui se passe : quand je clic sur un div, l evenement onlur de l imput est exécuter en premier (l evenement onclick n est plus éxécuté car le onblur a caché tout le grand div).
    Si vous avez une idée comment faire pour controler cette évenement, ou faire la différence entre le faire que c'est un clic sur un div (pour ne pas executer le onblur) et pas un pas un clic dehors pour sortir.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    si je comprend bien ton arborescence :

    ---- div principale ----
    -------div-----------
    -------div-----------
    -------div-----------
    ----div principale ----

    au moment du click sur une des divs de la div principale , remonte jusqu'a trouver le parent , si le parent est la div principale , ne masque pas tout de suite
    s'il s'agit d'une autre div , du document ... tu masques

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Merci de votre réponse , j'ai pas penser a mettre un shéma .Alors voila ce que j'ai :

    ---imput--- Evenements : onblur() ; caché la Div
    onfocus , onkeyup : affiché la Div
    ---Div-----
    ------div Evenement : onclick() ; remplir imput, et caché Div
    ------div Evenement : onclick()
    ------div Evenement : onclick()
    ------div Evenement : onclick()

    le soucci c'est qu on clic sur div le onblur s'execute et cache la Div et le onclick ne s'éxécute pas .
    je souhaite que : qu'on je clic dehors, il dois éxécuter le onblur ,ça c'est bien
    Et quand je clic sur div il lance le onclick sans passer par le onblur de l input .

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    il faut pour cela détecter quel élément a été clické dans la méthode de fermeture , via event :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (e.target) targ = e.target;
    	else if (e.srcElement) targ = e.srcElement;
    e represente l'évènement , passé en paramètre automatiquement :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div.onclick = function (e) ....
    et a partir de la , tu récupère donc l'élément cliqué , et tu peux , appeler la méthode de remplissage a l'intérieur de ta méthode de fermeture

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Oui c'est bien ça, j'ai essayé ça meme si je métraise pas l objet event. Mais le problème est que lorsque je clic sur le div , l'évenement onblur de l imput est déclencher (car l input perd le focus). Donc le meme évenement (onblur de input) est déclencher lorsque je clic n impote ou sur la fenetre ou bien sur une de mes div , pour lui c'est un onblur et ça lui enpeche de lancer le onclick de ma div. Voila mon onblur de l 'input :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	var event = event || window.event;
     	if(event.type=='text'){
                  divDest =          document.getElementById('menuRightHidden'); 
                 divDest.style.visibility = 'hidden'; 
      	   }
    Mon onclick sur la div :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     currentDiv.onclick	 = function(event) 
     									  {
                  inside.value = this.indice; 
                 divDest.style.visibility = 'hidden'; 
     									  }
    Merci de votre réponse

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Je reformule le probleme :
    Comment je peux tester sur ma méthode onblur que y'aura un autre event apres qui es le onclick .
    Si j arrive a savoir que y as un onclik qui va suivre le onblur je vaie pas caché ma Div.
    onblur de imput
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     function hideList(event){
       	var event =   window.event;
        if(event.type=='blur'){
         divDest =    document.getElementById('menuRightHidden'); 
         divDest.style.visibility = 'hidden'; 
      	}

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

Discussions similaires

  1. case à cocher onclick javascript
    Par chris_013 dans le forum JSF
    Réponses: 3
    Dernier message: 09/02/2009, 16h34
  2. Simple onclick javascript sur un lien
    Par PsychedeChed dans le forum ASP.NET
    Réponses: 10
    Dernier message: 26/01/2009, 22h21
  3. onclick javascript
    Par ph_anrys dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2007, 10h42
  4. [javascript] Changer la valeur de onclick()
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/12/2005, 10h29
  5. onclick en javascript
    Par aliasss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/05/2005, 10h55

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