Почему jQuery UI 1.10 удалить опцию zIndex диалогового окна jQuery?

я нашел последнюю версию jQuery UI (1.10) удалить . И это подтверждено на веб-сайте jQuery.

это действительно шокировало меня. Пожалуйста, подумайте об этом:

когда у нас есть jqgrid, и использовать editrow() или addrow() чтобы открыть диалоговое окно редактирования для редактирования чего-либо, и есть много полей внутри, некоторые из которых имеют самостоятельное событие, например, когда вы нажимаете на него, он покажет другой диалог jQuery, чтобы показать некоторые элементы treeview выбрал.

в разделе jQuery UI 1.9 (включено) вы можете установить диалог jQuery zIndex опция больше, чем диалог редактирования jqGrid (jqGrid edit dialog support set zIndex), поэтому диалог jQuery всегда включен и может быть виден и использован.

в jQuery UI 1.10 вы не можете установить zIndex, поэтому диалог jQuery всегда находится за диалогом редактирования jqgrid.

Я думаю, что такая сцена очень распространена.

почему jQuery UI 1.10 удалить диалог jQuery zIndex вариант? Как контролировать z-index заказать, когда есть более одного диалога?

6 ответов


думаю, я понимаю вашу проблему. Z-индекс CSS для диалога пользовательского интерфейса jQuery недостаточно высок, чтобы всегда отображаться над вашим контентом. Вот быстрое исправление:

/* A class used by the jQuery UI CSS framework for their dialogs. */
.ui-front {
    z-index:1000000 !important; /* The default is 100. !important overrides the default. */
}

просто прочитайте журнал изменений из jQuery UI 1.10 (вместе с ошибка это было подано для него):

удалена опция zIndex

подобно опции стека, опция zIndex не нужна с правильной реализацией укладки. Этот z-индекс определен в CSS и штабелировать теперь проконтролирован путем обеспечивать сфокусированный диалог является последним элементом "укладки" в родительском элементе.

In другие слова: вы должны свойство стека элементов вместо "взлома" ваш способ укладки с помощью опции zIndex.


Если вы хотите применить zIndex с помощью jQuery, как только вы создадите экземпляр диалога, вы можете сделать следующее:

$('#element').dialog({ your options... }).parent('.ui-dialog').css('zIndex',9999);

вы пробовали использовать опцию "appendTo"? Просто динамически добавьте оболочку с Z-индексом того, что вам нужно, а затем используйте идентификатор этого элемента в качестве селектора в аргументе "appendTo".

http://api.jqueryui.com/dialog/#option-appendTo


вы пробовали?

$( ".selector" ).dialog( "moveToTop" );

ссылка:http://api.jqueryui.com/dialog/#method-moveToTop


 $('#element').dialog({     modal: true,
                            stack: false,
                            zIndex: 9999,
...

работал для меня