Как окно в ОС Microsoft (XP, Vista, 7 и т. Д.) ...
Если главное окно создает модальное окно, пользователь не может получить доступ к главному окну,
(включая закрытие и доступ к панели инструментов и т. д.).
Я хочу сделать аналогичный с extjs. Это мой модальный пример:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
tbar: [{
text: 'aa',
handler: function() {
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
closable: false,
height: 100,
html: 'b',
ownerCt: this,
modal: true
}).show();
}
}]
}).show();
Проблема в том, что он просто отключает тело основного окна, пользователь по-прежнему может получить доступ к главной панели инструментов, а также для ее закрытия.
Мой вопрос, как сделать полный модальный? или если это невозможно сделать, как отключить главное окно, если появляется модальное окно, я использую функцию прослушивания шоу на модальном win, но проблема в том, что я не могу получить доступ к главному окну из этого прослушивателя.
Редактировать:
Это мой код:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
maskOnDisable: false,
tbar: [{
text: 'aa',
handler: function(a) {
var parent = a.up("window");
parent.disable();
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
height: 100,
html: 'b',
listeners: {
scope: this,
"close": function() {
parent.enable();
},
/*
"blur" : function(){
this.focus()
}
*/
}
}).show();
}
}]
}).show();
Хотя это не модальная концепция, но похоже, что я хочу сейчас, у меня возникла новая проблема, maskOnDisable
не работает, и мне нужно событие, подобное blur
, поэтому, если пользователь щелкает родительское окно, оно фокусируется назад. всплывающее окно.
(я должен отправить это как новый вопрос?)