wie können Sie eine vollständige modale Fenster in ext 4?
Wie ein Fenster in microsoft-Betriebssystemen (xp,vista, 7 usw)...
Wenn ein Hauptfenster erstellen eines modalen Fensters, kann der Benutzer keinen Zugriff auf das Hauptfenster,
(einschließlich in der Nähe und den Zugriff auf die Symbolleiste, etc.).
Möchte ich eine ähnliche mit extjs. Dies ist meine modal Beispiel :
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();
Das problem ist, dass es nur deaktivieren das Hauptfenster Körper, Benutzer können noch Zugriff auf Haupt-Symbolleiste, auch für schließen.
Meine Frage ist, wie die volle modal ? oder, wenn es nicht getan werden kann, wie zu deaktivieren Hauptfenster, wenn modale Fenster angezeigt, ich habe verwenden listener-show modal gewinnen, aber das problem ist, dass ich keinen Zugriff auf Haupt-Fenster von dieser listener.
Edit :
Dies ist mein code bisher :
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();
Obwohl dies nicht modale Konzept, aber es scheint wie das, was ich will, jetzt habe ich ein neues problem, maskOnDisable
ist nicht funktioniert und ich brauche ein Ereignis, wie blur
, so dass, wenn Benutzer klicken Sie auf übergeordnetes Fenster, Fokus zurück zum popup-Fenster.
(sollte poste ich es als neue Frage ?)
- haben Sie einen Blick auf die aktualisierte Antwort.
- vielen Dank für Eure Hilfe.. siehe mein edit.. ich brauche etwas Hilfe, um wieder..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Neue Antwort:
Haben Sie versucht, zu
disable()
undenable()
Sie das übergeordnete Fenster, richtig? Ich denke, dass sollte helfen, Sie zu stoppen Zugriff auf das erste Fenster, und zur gleichen Zeit, so dass Ihre Benutzer Zugriff auf das Hauptanwendungs-Menü und der Bildschirm. Hier ist, was ich versucht habe:Wenn Sie deaktivieren Sie die Fenster, die Komponenten in dem Fenster sind deaktiviert und Sie werden nicht in der Lage, sogar das Fenster verschieben. Aber in der gleichen Zeit, haben Sie Zugriff auf weitere Komponenten, wie Ihre Haupt-Menü raster auf der Seite. Sie haben auch Zugriff auf die neuen Fenster. Nun, machen Sie Verhalten sich wie ein modal, müssen Sie das übergeordnete Fenster, wenn Sie schließen Sie das untergeordnete Fenster. Sie können Gebrauch machen von der
enable()
Methode für, die.Ich kann mir nicht vorstellen, dass es eine andere Möglichkeit das zu erreichen, was Sie suchen.
Alte Antwort:
Frage ich mich, warum Sie das
ownerCt
Eigenschaft unter Bezugnahme auf das Fenster selbst! Das ist Ihr Hauptproblem. Durch das entfernen der Eigenschaft, die Sie erreichen, was Sie suchen. Hier ist der aktualisierte code:Gab es irgendeinen Grund für die Einstellung der
ownerCt
Eigenschaft?ownerCt
zu bestimmen, wer ist die übergeordnete.. es mag "- Ordner-option" im "explorer" ("Fenster"), kann der Benutzer keinen Zugriff auf den explorer, bis die option Ordner ist geschlossen..Diesen Tagen, die Sie festlegen, modal: true