У меня есть вложенные диалоги, работающие без проблем с 1.5.
Попробуйте пропустить вызов destroyRecursive()
или измените его на destroy()
, чтобы увидеть, есть ли различия.
Кроме того, вы звоните hide()
в свой обработчик кликов? Попробуйте установить таймер для вызова hide()
после возвращения обработчика. Я помню, что вызов hide
для диалогового окна внутри обработчика иногда приводит к ошибкам.
Что вы подразумеваете под «потерей модальности», то, что действительно происходит, так это то, что подстилающий диалог скрыт Подложка - это DIV (хорошо, div внутри div), связанный с классом dijit.DialogUnderlay
, и div обычно отображается на dijig.Dialog.show
и скрыт при hide
. Div охватывает всю область экрана, что и обеспечивает «модальность».
Вы также должны зайти в свой любимый инструмент для веб-разработчиков (инструменты разработчика Firebug или WebKit / IE), чтобы проверить этот базовый div. Это должно быть в самом конце вашего body
. Посмотри, не спрятано ли оно.