Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   скрипт при нажатии на tool выводит menu, меню появляется не там. (https://javascript.ru/forum/extjs/34983-skript-pri-nazhatii-na-tool-vyvodit-menu-menyu-poyavlyaetsya-ne-tam.html)

Krepkii 26.01.2013 22:58

скрипт при нажатии на tool выводит menu, меню появляется не там.
 
скрипт при нажатии на tool выводит menu, меню появляется внизу окна, слева, причем видно не все. мне же нужно, чтобы оно появлялось сразу под кнопочкой, в правом верхнем углу. привожу код кнопочки:

getTools: function(){
        return [{
            xtype: 'tool',
            type: 'gear',
            handler: function(){
                Ext.create('Ext.menu.Menu', {
    width: 100,
    floating: false,  
    renderTo: document.getElementById("portlet-2"),  
    items: [{
        text: 'regular item 1'
    },{
        text: 'regular item 2'
    },{
        text: 'regular item 3'
    }]
})
            }
        }];
    }


и скрин:

Deff 27.01.2013 03:04

Krepkii,
Ccылку на сайт

nekto_O 27.01.2013 11:13

Что-то вроде этого...
handler: function(e) {
    if( !this.gearMenu ) {
         this.gearMenu = Ext.create('Ext.menu.Menu', {
              width: 100,
              hidden: true,
              renderTo: Ext.get('portlet-2'),
              floating: false,
              items: [{
                   text: 'regular item 1'
              },{
                   text: 'regular item 2'
              },{
                   text: 'regular item 3'
              }]
         });
    }
    with(this.gearMenu) {
        !isVisible() ? showAt(e.getXY()) : hide();
    }
 }

Krepkii 27.01.2013 20:56

а теперь вот что получается((


P.S. И еще проблемка, там указано в renderTo portlet-2, но надо, чтоб меню в том же окне открывалось в котором кнопка. Я думал я сам это решу, но как то непонятен этот вопрос, облазил доку, так и не понял как это сделать((

nekto_O 28.01.2013 06:34

Цитата:

Сообщение от Krepkii
а теперь вот что получается((

ну убираем тогда floating: false и никуда не рендерим.


Часовой пояс GMT +3, время: 02:43.