2
我有兩個窗口。在一個窗口中調用的事件,但處理程序(偵聽器)必須位於另一個窗口中。這可以做到嗎?如果是,如何?活動在ExtJs
我有兩個窗口。在一個窗口中調用的事件,但處理程序(偵聽器)必須位於另一個窗口中。這可以做到嗎?如果是,如何?活動在ExtJs
窗口是如何被創建的,是第二個窗口,它觸發了第一個窗口創建的子窗口(一個與偵聽器)?
你想發起自定義事件還是使用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);
}
希望這可以解決您的問題。
事件是組件間通信的好方法。好答案。 – 2010-04-06 13:53:05
謝謝。我在ExtJS-3文檔中找不到任何事件示例。 – Keyo 2011-06-28 22:34:51