2009-11-04 8 views
5

J'essaie d'utiliser la boîte de dialogue modale de jQuery UI et de tester mes éléments dans IE8. Chaque fois que la boîte de dialogue apparaît, un énorme DIV est créé en arrière-plan et IE continue de changer la taille du pouce de la barre de défilement verticale et s'il y avait un énorme téléchargement de page en arrière-plan. En mode de compatibilité IE change une fois le pouce de la barre de défilement verticale, tout fonctionne comme prévu et la page ne semble pas encore chargée. L'exemple de jQuery UI fonctionne très bien pour moi.Boîte de dialogue jQuery UI: un énorme DIV sur l'arrière-plan dans IE 8

Voici mon code:

$("#confirm_stage_change").dialog({ 
    autoOpen: false, 
    bgiframe: true, 
    modal: true, 
    height: 300, 
    width: 300, 
    draggable: false, 
    resizable: false 
}); 

C'est mon "dialogue":

<div id="confirm_stage_change" title="Confirm Stage Change"> 
    <p> 
     Hello!!! 
    </p> 
</div> 

Voici le DIV que je vois dans l'inspecteur:

<div class="ui-widget-overlay" style="z-index: 1001; width: 1069px; height: 20218px;" jQuery1257312441701="35"> 

Est-ce que quelqu'un a vu quelque chose comme ça ?

Merci! MISE À JOUR: cela se passe en mode IE8 Standards (XHTML 1.0 Strict, l'échantillon de jQuery UI est également cassé dans ce mode), mais aucun problème en mode IE 8 Quirks.

+0

peut-être quelques captures d'écran nous aideraient visuel le problème un peu plus? –

+0

Voici le fichier HTML en question: http://dev.jqueryui.com/attachment/ticket/4942/test.html – wasker

+0

(le lien de téléchargement est en bas) – wasker

Répondre

0

Je ne suis pas sûr que je comprends complètement la question, mais voici un coup de poignard à elle:

widget de dialogue de l'interface utilisateur jQuery (en modal dialog mode) met toujours div pleine page sur le contenu du reste de la page par défaut. C'est un comportement normal. Il n'apparaît probablement pas en mode quirks car le mode quirks n'est pas supporté par l'équipe jQueryUI. Si vous ne voulez pas que le dialogue ait un contenu couvrant div, vous devriez considérer les autres options de dialogue.

En ce qui concerne les barres de défilement, celles-ci n'apparaissent normalement pas en raison de l'utilisation d'une boîte de dialogue modale. Toutefois, si votre page est suffisamment grande pour provoquer le défilement avant l'apparition de la boîte de dialogue, les navigateurs réagissent différemment dans tous les cas.

+0

Le problème est que ce contenu DIV fonctionne très bien dans mode quirks, mais les barres de défilement deviennent sauvages si je passe aux normes. – wasker

8

J'ai trouvé la réponse sur un autre poste: JQuery UI modal dialog uses 100% CPU

Ajouter le style suivant.

.ui-widget-overlay 
{ 
    position: fixed; 
} 
+0

Cela tue IE6 pour moi. Assurez-vous de revenir à 'position: absolute' dans les feuilles de style conditionnelles IE6. –

0

trop tard, mais pourrait être utile pour quelqu'un, essayez de changer le type de document à quelque chose comme:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
Questions connexes