J'utilise une interface utilisateur GRAILS (1.2-SNAPSHOT) et son implémentation de la barre de menu YUI (YUI 2.7.0.1). Je vois le comportement de mouseover flakey dans IE (Firefox est ok). Lorsque je souris sur l'élément de menu avec un sous-menu, il apparaîtra. Lorsque j'essaie de passer la souris sur le sous-menu, le sous-menu disparaît avant que je puisse cliquer. Cela se produit dans un schéma que je n'ai pas complètement compris. Habituellement, la première fois que je sélectionne un menu c'est bien, mais si je me déplace dans le menu à un élément de menu, le sous-menu commence à afficher ce comportement. En cliquant et en maintenant le bouton de la souris, je peux habituellement obtenir le sous-menu pour rester.Grails UI Menu comportement flakey dans IE
J'ai palé avec diverses configurations comme keepopen et automenudisplay mais ils ne semblent pas changer le comportement. Je n'ai pas vu beaucoup posté à ce sujet. Mais je ne vois pas non plus de menus documentés dans le plugin de l'interface utilisateur. Je pourrais vraiment utiliser certains commentaires si le menu de l'interface utilisateur n'est pas encore prêt pour la prime time ou s'il me manque quelque chose d'autre. Je n'ai pas travaillé avec beaucoup d'AJAX avant.
Voici le code avec les options supplémentaires que j'ai joué avec qui n'a pas eu un impact positif.
<gui:menubar id='menubar' renderTo='mainmenu' autosubmenudisplay="false" shadow="true" keepopen="true">
<gui:menuitem url="/esmzone">Home</gui:menuitem>
<gui:submenu label='Profile'>
<gui:menuitem url="${createLink(controller:'memberProfile', action:'view')}">View</gui:menuitem>
<gui:menuitem url="${createLink(controller:'memberProfile', action:'profile')}">Edit</gui:menuitem>
<gui:menuitem url="${createLink(controller:'user', action:'account')}">Settings</gui:menuitem>
<gui:menuitem url="#">Subscription</gui:menuitem>
</gui:submenu>
Voici le code généré par le plugin:
<script>
YAHOO.util.Event.onDOMReady(function() {
GRAILSUI.menubar = new YAHOO.widget.MenuBar("menubar_div", {'autosubmenudisplay': false,
'shadow': true,
'keepopen': true});
GRAILSUI.menubar.render('mainmenu');
});
</script>
Toujours avoir un menu feuilleté donc joué un peu plus et trouvé que sur IE8, l'ajout de l'autosubmenudisplay = "true" à la balise fait la différence. Lorsqu'il est défini sur false, le menu doit être cliqué. Cependant, une fois que vous avez cliqué sur les autres sous-menus, la liste déroulante s'affiche. Cela ne semble pas bien fonctionner sur IE. Faire la liste déroulante automatique semble toujours être l'astuce. –
Danomighty
Espérons un résultat final. Il s'avère que le comportement était dû au mode IE Quirks. Le truc que je faisais était juste de modifier le comportement bizarre de IE et de ne pas régler le problème. Un doctype standard simple (que j'ai omis lors de mon développement a forcé le navigateur à passer en mode standard) – Danomighty