Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Как вызвать окно по клику (https://javascript.ru/forum/extjs/28509-kak-vyzvat-okno-po-kliku.html)

unet900 22.05.2012 15:59

Как вызвать окно по клику
 
Значит код примерно такой
Ext.define('Cabinet.view.IpCams', {
  extend: 'Ext.panel.Panel',
  alias: 'widget.ipcams',
  frame: true,
  closable: true,
  collapsible: true,
  animCollapse: true,
  maxHeight: 1500,
  minWidth: 300,
  draggable: true,
  resizable: true,
  autoHeight: true,
  style: 'border-radius: none;',

  bodyStyle: {

  },



  initComponent: function(){

        var width = Math.round(Ext.getCmp('usersViewport').getWidth()/2)-10;

       function camWindow() {
         if(!win){
                var win = new Ext.Window({
                        width:600,
                        height:600,
                        title: 'Наше пробное окошко',
                        html:'<h1>Тут размещается код HTML</h2>',
                        layout:'fit',
                        bodyStyle:{'background-color': '#FFFFFF'}
                })
        }
        win.show();
       }


        var form = Ext.create('Ext.form.Panel', {
          frame: true,
          bodyPadding: 10,
          border: false,
          bodyBorder: false,
          buttonAlign: 'left',
          items: [
             {
                 html:'<a href="" onclick="camWindow(); return false;">CAM1</a>',
             }


          ],
          buttons: [
            {
              text: 'Направить запрос',
              handler: function() {

              }
            },
            {
              text: 'Архив запросов',
              handler: function() {
                 camWindow();
              }
            }
          ]
        });

        Ext.applyIf(this, {
            width : width,
            height: 300,
            bodyPadding: 6,
            title : "Камеры",
            layout : 'fit',
            items : [
              form
            ]
        });

        this.callParent(arguments);
    },
    beforeclose : function() {

    }
});


html:'<a href="" onclick="camWindow(); return false;">CAM1</a>',

так не работает, как можно задать вывод окна по клику хандлер на кнопочку работает а просто на текст как сделать или картинку ??

nekto_O 22.05.2012 16:16

Функция camWindow скорее всего не определена на тот момент когда вы пытаетесь ее вызвать. У вас она определяется во время инициализации компонента "Cabinet.view.IpCams", а если экземпляр(объект) не создан, то соответственно и функция недоступна.


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