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 :

[DOM] Un équivalent de "OnClickOut"


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Par défaut [DOM] Un équivalent de "OnClickOut"
    Bonjour,

    J'aurais besoin d'un petit coup de main en javascript, je ne trouve pas de tuto pour continuer mon codage. Soit le script javascript suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">var i=false;
    function montre() {
      if(i==false) {
      document.getElementById("curseur").style.visibility="visible";
      i=true;
      }
      else{
      document.getElementById("curseur").style.visibility="hidden";
      i=false;
      }
    }
    </script>
    Et soit le code html suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <span onclick="javascript:montre();" style="cursor:pointer;">Ouvrir les outils</span>
     
    <div id="curseur" class="infobulle_options">outils...</div>
    Ce code sert donc à afficher et à masquer la div "curseur" lorsqu'on clique sur "Ouvrir mes outils".

    Je cherche en fait à améliorer ce script. Pour l'instant, lorsqu'on a affiché la div, il faut recliquer sur "Ouvrir les outils" pour la masquer. Ce que j'aimerais à présent, c'est que lorsqu'on clique en dehors de la div "curseur", ça la ferme si elle est ouverte. Ce serait ce que j'appelle à ma manière un "OnClickOut" (je sais que ça n'existe pas en js ;-)).

    Auriez-vous une solution ?

    Merci d'avance

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    onblur ?
    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 !

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Par défaut
    Je ne connais pas... A quoi sert-il ?

  4. #4
    Membre éclairé Avatar de arkandias
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Par défaut
    onBlur se déclenche lorsque tu perds le focus d'un élément... le contraire de onFocus en gros...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span onClick="javascript:montre();" onBlur="javascript:montre();" style="cursor:pointer;">Ouvrir les outils</span>
    Après je sais pas si ca marche sur un span...

  5. #5
    Membre actif Avatar de Causa Sui
    Inscrit en
    Mai 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 133
    Par défaut
    Citation Envoyé par arkandias Voir le message
    Après je sais pas si ca marche sur un span...
    Apparament non, ni dans les évennement classiques ni dans le modèle d'évenement Dom Level2.
    Ce qui est logique au fait, dans la mesure ou span est une unité logique où le focus n'a pas de pertinence (puisque le plus souvent il s'agit du focus clavier)...
    Par contre, grace au moyen de propagation des évenements de l'API du DOM niveau 2 ça doit être possible... mais de la à dire comment...

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    mets ton span dans une balise a ?
    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 !

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