J'ai le problème suivant sous Internet Explorer 7/8: P>
J'ai une fenêtre contextuelle qui est activée lorsque l'utilisateur mouse un lien. La popup est un simple 13 Réponses : Ma suggestion serait de définir un autre indicateur pendant que la boîte de sélection est mise au point. Ne fermez pas la DIV pendant que le drapeau est défini. P> Que diriez-vous de ré-montrant la DIV lorsque la souris est sur le Edit: L'ordre d'exécution de la sourisovation d'option et de mouse de DIV peut cependant causer des problèmes. P>
C'est-à-dire refuser de joindre des litisteners aux
Je crois que le problème vient du fait que c'est-à-dire que c.-à-d. Renders
@Dalisard: Ce n'est pas vrai à partir de IE7, l'élément Select est un contrôle sans fenêtre et prend en charge la propriété Z-Index. Cependant, le popup des options se comporte comme si cela ne fait pas partie du DOM (même s'il est) et ne prend donc pas en charge les événements DOM. Dans l'événement de Mouseout pour la DIV Ajoutez un délai d'attente à l'élément DIV qui cachera la DIV en 200 millisecondes ou plus. P>
Ensuite, dans l'événement de la Mouseover pour la DIV / SELECT et l'événement de clic de la sélection Effacer le délai d'attente stocké dans l'élément div. p>
Cela donne un délai très léger avant de cacher la DIV qui permet aux événements de la Mousever ou de cliquer sur pour effacer le délai d'attente avant d'être exécuté. Ce n'est pas joli mais cela devrait fonctionner. P>
C'est la seule chose que je pouvais penser. Il est prêt comme ça pour le moment. Dommage que je ne trouve rien de mieux. Vous devriez être capable de détecter si la situation est celle que vous souhaitez juste avec les valeurs hors de l'événement. C'est un peu compliqué mais il semble fonctionner. dans le gestionnaire d'événements de votre externe Ensuite, implémentez la méthode essentiellement de la méthode code> isreal code> est simplement détecte si l'événement venait de l'événement . Si tel est le cas, il renvoie FALSE qui évite d'appeler la cachette de la cache. P> p>
C'est essentiellement ce que je suis venu ici pour poster. Ceci est similaire à la façon dont Marotools implémente leur Au lieu d'utiliser Mouseout comme l'événement Pour fermer la DIV, utilisez Mouseleave, l'événement ne sera déclenché que lorsque le pointeur quitte la limite de la DIV, pas lorsqu'elle se déplace sur d'autres éléments de l'intérieur P> Vous pouvez essayer d'ajouter un autre événement de Mouseover spécifiquement pour la liste des options. P>
Vous ne pouvez pas ajouter d'événement pour la liste des options qui serait déclenchée sous IE. Eh bien, la raison de ce comportement est dû au fait que la bulle d'événements Mouseover / Out, ce qui signifie efficacement que chaque fois que vous mousiez l'un des éléments de la popup, le popup reçoit également l'événement. Vous pouvez lire plus ici sur ces événements et ici à propos de l'événement bouillonnant. P> Vous avez 3 solutions possibles ici: p> Modifiez les événements à Onmouseenter / partir. Vous avez mentionné que cela n'a pas aidé, ce qui semble simplement étrange, car ceux-ci ne sont pas censés bulles. P> li>
Vérifiez la srogation par rapport à / toelement dans l'événement. p> li>
ol> une version améliorée de Le chèque de McKamey serait: p> fait la même chose, juste plus courte. P> 3. Une autre option serait de créer un DIV transparent et invisible juste sous votre popup qui couvre la zone que la boîte de sélection tombe dans. Je suppose que cela tombe en dehors de la zone réelle de la popup. P> espère que cela aide! P> p> Avez-vous essayé
Oui. Toujours ne fonctionne pas :-) C'était en fait comment je l'avais à l'origine. Qu'en est-il de quelque chose comme ceci: L'idée de base est que vous affichez l'élément de conteneur lorsque vous allumez sur la gâchette, puis lorsque vous laissez le conteneur, vous cachez le conteneur. Vous auriez besoin de positionner le conteneur afin qu'il a coupé l'élément de déclenchement, sinon il se cacherait tout de suite. P> p> Pourquoi avoir la mouseover / Mouseout sur le Beaucoup de gens postant des solutions / exemples ne semblent pas réaliser une chose: Onmouseout événement sur étant donné que SELECT dans IE est une douleur, en particulier lorsqu'il s'agit de la question de la superposition dans laquelle une sélection apparaît au-dessus d'une div, même si elle ne devrait pas, puis-je vous pointer de vous indiquer dans la direction des contrôles du bouton de menu de YUI. Ils ont l'air vraiment agréable, sont faciles à mettre en œuvre et ne causeront pas de ce problème p>
Voici un lien: http://developer.yahoo.com/ yui / exemples / bouton / btn_example07.html p> Vous devez utiliser
votes
votes
votes
votes
div code>, faites quelque chose comme ceci: p>
isreal code>: p>
Mouseover code> et
mouseout code> événements, mais beaucoup plus succint. Probablement la meilleure solution.
votes
votes
votes
votes
survol code> au lieu d'effets Mousever / Out?
votes
votes
votes
votes
votes
événement.stoppropagation () code> pendant dans
annuleBubble () code> dans
J'ai déjà essayé cela et cela ne fonctionne pas parce que j'ai besoin d'utiliser la fonction JQuery Live (), et cela ne prend pas en charge l'événement de mise au point.