Envoyé par : hhf
Date : 08/11/2005 22:03
et hop, une autre ptite question, merci d'avance. qd je disable un tab, il passe bien en style disabled (tout gris), mais un click dessus laisse acceder au tabpanel correspondant. ce qui est plutot genant. il y a t'il quelquechose à faire de plus. En attendant ceux qui sont normalement disabled je les met en hidden, mais quand je remet hidden à false, le tab correspondant se retrouve en premier position du tabbox, quelquechose m'echappe. Si quelqu'un à une idee du pkoi du comment, se sera le bienvenu.
Envoyé par : laurentj
Date : 14/11/2005 13:53
qd je disable un tab
tu fais comment exactement ?
Envoyé par : hhf
Date : 16/11/2005 01:52
ben je met sur l'attribut disabled à true sur le tab. exemple :
<tabbox> <tabs> <tab label="Courrier" disabled="true"/> <tab label="Forum"/> </tabs> <tabpanels> <tabpanel id="mailtab"> <checkbox label="Vérifier automatiquement le courrier"/> </tabpanel> <tabpanel id="newstab"> <button label="Effacer le cache des forums"/> </tabpanel> </tabpanels> </tabbox>
Envoyé par : thefab
Date : 16/11/2005 15:30
Et si tu met aussi disabled="true" sur le <tabpanel> ?
Envoyé par : laurentj
Date : 17/11/2005 10:02
Je confirme : le XBL du tab (voir dans toolkit.jar, le fichier tabbox.xml) ne prend pas en compte l'attribut disabled pour activer/désactiver le panneau. Cet attribut est juste propagé sur le label du tab. Lors de sa sélection par un click (ou par le clavier), il ne verifie pas la présence ou pas de l'attribut disabled.
Seul solution pour toi : faire un xbl, dérivant de l'original, et qui a le comportement que tu veux (donc reprendre les handlers du xbl de tab et les modifier).
Envoyé par : goebi
Date : 14/02/2008 16:15
Je vois bien que la question date de 2005 mais comme j'ai eu le même problème et que je n'ai pas trouvé de solution, je poste la mienne :D J'ai dû jouer sur les évènements pour avoir un comportement un tant soit peu cohérent...
En reprenant l'exemple (avec un id en plus pour l'élément tabs) :
<tabbox> <tabs id="myTabs"> <tab label="Courrier" disabled="true"/> <tab label="Forum"/> </tabs> <tabpanels> <tabpanel id="mailtab"> <checkbox label="Vérifier automatiquement le courrier"/> </tabpanel> <tabpanel id="newstab"> <button label="Effacer le cache des forums"/> </tabpanel> </tabpanels> </tabbox>
Dans un script de chargement de la fenêtre (onload), ajouter :
document.getElementById('myTabs').addEventListener('mousedown', checkTab, true);
et ajouter dans votre code la fonction listener suivante :
function checkTab(event) { if (event.target.getAttribute("disabled")=="true") event.stopPropagation(); }
En gros, quand on clique sur un tab, on l'intercepte et si il est désactivé on ne propage plus l'évènement !
Alors, pour avoir un tab actif/désactif, utiliser la méthode setAttribute("disabled","false") / setAttribute("disabled","true")
à+
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.