0

問題は次のとおりです。メニューがあり、マウスが通り過ぎるときに要素を非表示にして表示したかったのですが、マウスオーバーとマウスアウトのイベントでそれを取得しましたが、実際には項目を選択できませんドロップダウンメニューが消えてしまうので、DOMの問題が原因かもしれないと思っていましたが、よくわかりません。助けていただければ幸いです! コードは次のようになります。

var PanelMuestra = Ext.extend(Ext.Panel, {
    width    : 850 ,
    height   : 250,
    style    : 'margin-top:15px',
    bodyStyle: 'padding:10px',
    renderTo : Ext.getBody(),
    html     : fakeHTML,
    autoScroll: true
});
new PanelMuestra({
    title: 'Menu',
    tbar: [{
        xtype:'splitbutton',
        text: 'Nuevo aca',
        listeners : {
            mouseover : function() {
                console.log('Dentro del area');
                this.showMenu();
            },
            mouseout: function (b) {
                console.log('Fuera del area');
                b.hideMenu();
                //Ext.menu.Manager.hideAll();
            }


        },
        menu: [{text: 'Ejemplo boton 1'}]
    },'-',{
        xtype:'splitbutton',
        text: 'Relleno',
        menu: [{text: 'Cut Menu Item'}]
    },'-',{
        text: 'Relleno'
    },'-',{
        text: 'Relleno',
        menu: [{

            text: 'Cut Menu Item'

        }]
    },'-',{
        text: 'Relleno'
    }]
});
4

1 に答える 1

0

カスタム イベントでメニューを表示および非表示にしないでください。ドロップダウン メニューは、ExtJS 4 でネイティブにサポートされています。

ドロップダウン メニューのあるボタンの簡単な例を次に示します。

Ext.define('Mb.view.TestMenu', {
    extend: 'Ext.button.Button',
    xtype: 'winbiz-menu',
    text: 'Test Menu',
    icon: Paths.img + 'page_white_winbiz.png',
    menu: {
        items: [{
            text: 'Export,
            itemId: 'export'
        },{
            text: Lang._('Test')
            itemId: 'test'
        }]
    }
});
于 2013-10-30T16:10:24.713 に答える