0

私はGRAILSUI(1.2-SNAPSHOT)を使用しており、YUIメニューバー(YUI 2.7.0.1)の実装です。IEでマウスオーバーの動作が不安定になっています(Firefoxは問題ありません)。サブメニューのあるメニュー項目にマウスを合わせると、表示されます。サブメニューの上にマウスを置くと、クリックする前にサブメニューが消えます。これは私が完全には理解していないパターンで起こります。通常、初めてメニューを選択するときは問題ありませんが、メニューを移動してメニュー項目に戻ると、サブメニューにこの動作が表示され始めます。マウスボタンをクリックして押したままにすることで、通常、サブメニューを固定することができます。

keepopenやautomenudisplayなどのさまざまな構成を使用しましたが、動作は変わらないようです。私はこれについてあまり投稿されていません。しかし、UIプラグインにもメニューが文書化されていません。UIメニューがまだプライムタイムの準備ができていない場合、または何か他のものが不足している場合は、フィードバックを実際に使用できます。私はこれまで多くのAJAXを使用したことがありません。

以下は、私が遊んだオプションが追加されたコードで、プラスの影響はありませんでした。

<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>

プラグインによって生成されるコードは次のとおりです。

<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>
4

1 に答える 1

0

YUIライブラリを調査することで、これについてある程度の進歩がありました。IE7 には文書化されたバグがあります。どうやら grails-ui プラグインは修正に対応していないようです。私はIE8でテストしていますが、まだそこにあると思います。

http://developer.yahoo.com/yui/menu/#knownissues

bd クラスの zoom プロパティを 1 (zoom:1) に設定する必要があるようです。スタイルシートに次のコードを追加しました

div.yuimenubar .bd {
zoom: 1;
}

そしてそれは助けになるようです。Firefox では副作用は見られませんが、YUI JavaScript を生成するコードをハックして挿入する必要があるため、ブラウザーのバージョンを動的にチェックしませんでした。

if (YAHOO.env.ua.ie === 7) {
YAHOO.util.Dom.addClass(document.body, "ie7");
}

render() 呼び出しの後。次に、追加したスタイルの代わりに、IE7 (おそらく >=7) スタイルを実行できます。

これはYahooサイトがそれについて言わなければならなかったことです:

次の「zoom:1」のアプリケーションは、「hasLayout」プロパティを「true」に設定し、マウスが MenuBar のアイテムから IE 7 のサブメニューに移動するときに、MenuBar の第 1 層のサブメニューが非表示になるのを防ぎます。 「hasLayout」プロパティ: http://msdn.microsoft.com/en-us/library/ms533776(VS.85).aspx

于 2010-03-03T23:24:11.737 に答える