События в ExtJs - PullRequest
       10

События в ExtJs

2 голосов
/ 06 апреля 2010

У меня есть два окна. Событие вызывается в одном окне, но обработчик (слушатель) должен находиться в другом окне. Можно ли это сделать? Если да, то как?

1 Ответ

7 голосов
/ 06 апреля 2010

Как создаются окна, является ли второе окно, которое запускает событие, дочерним окном, созданным первым окном (одно со слушателем)?

Хотите запустить пользовательское событие или использовать событие extjs?

Пользовательское событие можно добавить разными способами. ех

var win = new xxxWindow();
win.addEvents('myevent');

Или

Ext.extend(xxxWindow, Ext.Window, {
    initComponent: function(){
        xxxWindow.superclass.initComponent.apply(this, arguments);
        this.addEvents('myevent');
    }
});

Затем в вашем первом окне (одно со слушателем и родителем второго окна) после создания второго окна

showSecondWindow: function(){
    var win = new xxxWindow();
    win.on('myevent', this.myEventHandler, this);
},

myEventHandler: function(arg1, arg2){
}

Чтобы запустить пользовательское событие из второго окна

fireMyEvent: function(arg1, arg2){
    this.fireEvent('myevent', arg1, arg2);
}

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...