J'ai un problème avec FIREFOX. J'ai un contrôle de liste invisible sur un contrôle déroulant (html 'select'). Cela ne me dérange pas, mais je dirai que la surcouche est une fenêtre qui apparaît dans le cadre d'un autre contrôle personnalisé.Les contrôles dans Firefox reçoivent-ils des événements de souris lorsque leur propriété visible CSS est false?
Même s'il est masqué, il m'empêche de cliquer sur le contrôle déroulant sous-jacent, rendant le contrôle sous-jacent désactivé. Ce n'est pas désactivé cependant, parce que je peux tabuler dessus. Je ne peux pas cliquer dessus. Je sais que c'est l'overlay qui cause le problème, parce que j'ai déplacé le contrôle sous-jacent sur le côté et ça marche à nouveau.
Est-ce un bug dans Firefox? Ce n'est pas comme définir une valeur de translucidité; c'est désactiver complètement le rendu du contrôle, donc je ne pense pas qu'un tel contrôle invisible devrait intercepter les événements de la souris. Ce problème ne se produit pas dans Internet Explorer.
Il existe peut-être une autre propriété CSS que je peux définir en JavaScript pour basculer sa capacité de capture d'événement de souris avec sa visibilité.
dd = document.getElementById('lstStudents');
if (dd.style.visibility == 'hidden') dd.style.visibility = 'visible'; else dd.style.visibility = 'hidden';
Mise à jour: Je viens de lire une description de la valeur de visibilité CSS « cachée » qui a lu « L'élément est invisible (mais occupe toujours l'espace) ». Donc je suppose que je vais devoir mettre sa hauteur à zéro et régler sa visibilité pour résoudre ce problème.
Comment rends-tu le 'contrôle invisible de la liste' invisible? Exemple de code? –
Propriété de visibilité CSS, basculée via javascript. Le style initial du contrôle a la visibilité définie sur "caché" avant que tout JavaScript ne soit jamais exécuté dessus. C'est une différence CLAIRE de comportement entre IE et Firefox (3.5.5). – Triynko