Как окно в ОС 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();
Проблема в том, что он просто отключает тело главного окна, пользователь по-прежнему может получить доступ к основной панели инструментов, в том числе для ее закрытия.
Мой вопрос: как сделать полный модальный? или, если это невозможно сделать, как отключить главное окно, если появляется модальное окно, я использую показ слушателя при модальном выигрыше, но проблема в том, что я не могу получить доступ к главному окну из этого слушателя.
Редактировать :
Это мой код до сих пор:
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
, поэтому, если пользователь щелкает родительское окно, он возвращается к всплывающему окну. (должен ли я опубликовать это как новый вопрос?)