im Hintergrund fehl Ich habe Probleme mit IE6 und jQuery UI. Ich habe einen Popup-Dialog (modal, falls es darauf ankommt), der dem Benutzer einen "Ja/Nein" -Dialog mit einigen Informationen anzeigt. Um dies zu erleichtern, erstelle ich den Dialog mit autoOpen = false und rufe später $ ('# popup'). Show() als Reaktion auf verschiedene Ereignisse auf. Jetzt, in IE6 (und nur IE6, soweit ich das beurteilen kann), wird die .dialog-Methode gelegentlich fehlschlagen, aber STILL das jQuery-Objekt zurückgeben. Anstatt also ein Popup anzuzeigen, zeigt die .show() -Methode nur einen div-Container in der HTML-Seite an.jQuery UI .dialog() -Methode schlägt in IE6
Was könnte die Ursache sein, und wie ich dieses Problem beheben?
Danke.
$('#myDialog').dialog({
autoOpen: false,
buttons: {
"No": function()
{
$(this).dialog('close');
//do stuff
},
"Yes": function()
{
$(this).dialog('close');
//do stuff
}
},
draggable: false,
modal: true,
resizable: false,
title: "Confirmation",
width: "500px",
zIndex: 2000
});
und später
$('#myDialog').dialog('open').show();
Ziemlich Standard.
Neue Informationen
ich die Seite bin Laden, die den Dialog mit Ajax innerhalb eines anderen Dialog macht, die immer wieder erstellt werden kann und zerstört. Jedes Mal, wenn meine Seite mit Ajax geladen wird, sollte .dialog (opts) den Dialog div erneut instanziieren, richtig? Ich habe festgestellt, dass dies das Szenario ist.
1.) Ein äußerer Dialog verwendet Ajax seinen Inhalt mit meinem Gehalt zu ersetzen.
2.) Mein Inhalt startet einen Dialog, der zuvor erstellt wurde und auf nicht AutoOpen-.
3.) Die äußere Dialog zerstört wird als der innere Dialog geschlossen.
4.) Der äußere Dialog wird erneut geöffnet. Der innere Dialog kann nicht mehr als Dialog in ie6 erscheinen. Dies geschieht NUR in IE6.
ein Link/Screencasts der Ausgabe, oder vielleicht würde das Skript zeigt helfen – redsquare