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 27.01.2013 00: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 05:04

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

nekto_O 27.01.2013 13: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 22:56

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


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

nekto_O 28.01.2013 08:34

Цитата:

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

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


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