В ExtJs к каждому окну Window привязаны различные события, которые способны вызывать разработанные вами функции при создании окна, его открытии, закрытии и так далее.
Приведем пример кода, в котором при возникновении события beforeShow производится наполнение окна содержимым, а при возникновении события beforeHide производится вывод на экран сообщений Alert.
Ext.require([
'Ext.window.*',
'Ext.tip.*'
]);
function myBeforeShow () {
this.title='Заголовок окна';
var str='';
var obj=this;
for (var i in obj) {
str+='<strong>' + i + '</strong> ' + obj[i]+'<br />';
}
this.html=str;
}
function myBeforeHide (){
alert('Сейчас окно будет закрыто');
}
var win = Ext.create('widget.window', { // создание окна
height: 500,
width: 500,
autoScroll: true, // разрешить скроллинг если текст не влезает.
closeAction: 'hide', // !!Важно.Указание на то, что окно при закрывании не удаляется вместе с содержимым. По умолчанию окно вместе с содержимым удаляется.
listeners:// список всех переопределяемых событий
{
beforeshow:myBeforeShow, // функция вызываемая перед открытием окна
beforehide:myBeforeHide // функция вызываемая перед закрытием окна
}
});
win.show();
В результате ExtJS выведет на экран всплывающее окно Window.

Приведем пример кода, в котором при возникновении события beforeShow производится наполнение окна содержимым, а при возникновении события beforeHide производится вывод на экран сообщений Alert.
Ext.require([
'Ext.window.*',
'Ext.tip.*'
]);
function myBeforeShow () {
this.title='Заголовок окна';
var str='';
var obj=this;
for (var i in obj) {
str+='<strong>' + i + '</strong> ' + obj[i]+'<br />';
}
this.html=str;
}
function myBeforeHide (){
alert('Сейчас окно будет закрыто');
}
var win = Ext.create('widget.window', { // создание окна
height: 500,
width: 500,
autoScroll: true, // разрешить скроллинг если текст не влезает.
closeAction: 'hide', // !!Важно.Указание на то, что окно при закрывании не удаляется вместе с содержимым. По умолчанию окно вместе с содержимым удаляется.
listeners:// список всех переопределяемых событий
{
beforeshow:myBeforeShow, // функция вызываемая перед открытием окна
beforehide:myBeforeHide // функция вызываемая перед закрытием окна
}
});
win.show();
В результате ExtJS выведет на экран всплывающее окно Window.
Этот комментарий был удален администратором блога.
ОтветитьУдалить