Listbox javascript

Résolu
leejunfan Messages postés 45 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 7 août 2008 - 7 août 2008 à 09:45
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 7 août 2008 à 15:23
Bonjour à tous,

je fais appel a vous car je rencontre une difficulté que je n'arrive pas à solutionner.
J'ai crée une listbox en javascript (un bouton qui affiche ou masque une liste a l'aide de la propriété display), voici le code de la fonction appelé par le bouton :

var dernierClick = null;
function verifDoubleClic(id)
    {
    if ( (dernierClick == this) )
      {
      dernierClick = null; // on remet à zéro
   document.getElementById(id).style.display='none';
      return true; // c'est bien un double-clic sur le même objet
      }
    else
      {
      dernierClick = this;
      // pour être sûr de cliquer sur le même objet
   document.getElementById(id).style.display='block';
      return false; // c'est un simple clic pour le moment)
      }
   return false;
}

Comme vous pouvez l'observer, le premier clic ouvre la liste, le second la referme.
Aujourd'hui je voudrais améliorer cette fonction pour que la listbox se referme lorsqu'on clique n'importe ou dans la page et si une bonne âme voulait m'aider, parceque la je sèche

21 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 août 2008 à 15:23
une autre façon de gérer la propagation...
<html>
<head>

<script type= "text/javascript">
//--------------------
function Show_Select(){

  var Obj = document.getElementById('S_TEST');
  Obj.style.display
= "block";
}
//--------------------

function Hide_Select(){
  var Obj =
document.getElementById('S_TEST');
  Obj.style.display ="none";
}

//-------------------
function
Doc_Click(e){
  var O_Select = document.getElementById('S_TEST');
  var
O_Button = document.getElementById('I_TEST');
  if( e)
    Element =
e.target;
  else
    Element = event.srcElement;
   //-- Test Si about Select   if( Element O_Select || Element O_Button){
    return(false);
  }

  Hide_Select();
  return( true);
}
document.onclick =
Doc_Click; // sans passage de paramètre, dans ce cas FF
passera l'evenement e
</script>
</head>






<select id="S_TEST" style="display:none;">

  <option>UN</option>
  <option>DEUX</option>

  <option>TROIS</option>

  <option>QUATRE</option>
</select>



[# Cliquez
ICI]

</html>
;O)
0
Rejoignez-nous