Envoyé par : anais
Date : 07/07/2009 12:23
Bonjour,
Est-ce quelqu'un peut me renseigner comment on peut changer la couleur de fond de l'élément sélectionné d'une menulist ?

Merci d'avance.
Envoyé par : jérôme
Date : 07/07/2009 15:35
Salut, tu peux faire un truc comme ça :
function changementCouleur(obj)
{
var tabItem = document.getElementById('liste2').getElementsByTagName('menuitem');
for (i=0; i < tabItem.length; i++)
{
tabItem[i].style.backgroundColor = "#fff";
}
obj.style.backgroundColor = "#ccc";
}
Et le xul :
<menulist id="liste2"> <menupopup> <menuitem onclick="changementCouleur(this);">valeur1</menuitem> <menuitem onclick="changementCouleur(this);">valeur2</menuitem> </menupopup> </menulist>
Envoyé par : mistervince
Date : 08/07/2009 09:34
salut, c'est possible aussi en utilisant le css :
menulist menuitem[selected="true"] {
-moz-appearance: none!important;
background-color: red;
}
La première règle est indispensable : elle permet d'éviter que l'élément prenne son apparence par défaut, et permet donc à tes propres règles css de s'appliquer correctement. Tu peux alors modifier le menuitem sélectionné (selected="true") comme tu veux : couleur de fond (pas forcément rouge ;-)), couleur de texte, police...
Si tu souhaites modifier complètement le style des menuitem :
menulist menuitem {
-moz-appearance: none!important;
/*style d'un menuitem normal*/
}
menulist menuitem:hover {
/*style d'un item survolé*/
}
menulist menuitem[selected="true"] {
/*style de l'item sélectionné*/
} Envoyé par : laurentj
Date : 08/07/2009 14:39
Je confirme, la solution par CSS est la meilleure.
Envoyé par : anais
Date : 09/07/2009 16:13
Merci,
J'ai aussi changé ceci :
menulist:focus > .menulist-label-box {
border: 1px dotted red;
background-color: red;
color: red;
} Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.