Ext.menu.Menu позиционирования - PullRequest
2 голосов
/ 11 мая 2011

Я пытаюсь выстроить меню, которое я создал, используя Ext.menu.Menu. Как вы можете видеть ниже, меню отображается 1 пиксель справа от его родителя.

The menu isn't quite right

Какой лучший способ сделать это идеально выровненным? Я кратко изучил getPostion() и setPosition() и не уверен, что это правильный способ сделать это.

Мой код меню довольно прост:

var userMenu = new Ext.menu.Menu({
    id: 'userMenu',
    width: 120,
    height: 70,
    items: [
        {
            text: 'My Settings',
            handler: settingsHandler                    
        },
        {
            text: 'Sign out',
            handler: signoutHandler         
        }   
        ]
    });     

       var menuHandler = function(e) { 
            userMenu.show('parent-menu');    
       }; 

       Ext.get('parent-menu').on('click',menuHandler);

Есть что-нибудь, что я могу здесь добавить? Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 мая 2011

Зачем вызывать метод show?
Вы можете просто сделать следующее, если ваше меню находится на панели инструментов.

var userMenu = new Ext.menu.Menu({
  id: 'userMenu',
  width: 120,
  height: 70,
  items: [
    {
        text: 'My Settings',
        handler: settingsHandler                    
    },
    {
        text: 'Sign out',
        handler: signoutHandler         
    }   
  ]
});

    /*Define a toolbar */
    tbar: [{
        text: 'Menu',
        menu: userMenu /*no need to call userMenu.show()*/
    }]
0 голосов
/ 12 мая 2011

На данный момент смог использовать jQuery после того, как показывается меню для его перемещения:

        var menuLeft = $('#userMenu').position().left;
        $('#userMenu').css('left',(menuLeft-1)+"px");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...