【发布时间】:2011-05-19 04:42:14
【问题描述】:
就像 microsoft OS (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 这样的事件,所以如果用户点击父窗口,它会重新聚焦弹出窗口。
(我应该将其作为新问题发布吗?)
【问题讨论】:
-
看看更新后的答案。
-
@Abdel,感谢您的帮助.. 看看我的编辑.. 我再次需要一点帮助..
标签: extjs modal-dialog extjs4