leejunfan
Messages postés45Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 7 août 2008
-
7 août 2008 à 09:45
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 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
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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>