it-swarm.com.ru

Почему jQuery UI 1.10 удаляет jQuery диалог zIndex?

Я обнаружил, что в последней версии jQuery UI (1.10) убрана опция zIndex. И это подтверждается на сайте JQuery.

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

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

В jQuery UI 1.9 (входит в комплект) вы можете установить для параметра zIndex диалогового окна jQuery значение, большее, чем для диалогового окна редактирования jqgrid (набор поддержки диалогового окна редактирования jqgrid zIndex), поэтому диалоговое окно jQuery всегда будет включено, его можно будет увидеть и использовать. 

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

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

Почему jQuery UI 1.10 удаляет опцию zIndex диалога jQuery? Как контролировать порядок z-index при наличии более одного диалога?

18
ivanchain

Я думаю, что понимаю вашу проблему. CSS z-index для диалогового окна jQuery UI недостаточно высок, чтобы всегда показываться над вашим контентом. Вот быстрое решение:

/* 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. */
}
26
BONER DAN

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

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

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

Другими словами: вы должны использовать свойство стека элементов вместо того, чтобы «взламывать» ваш путь к стеку, используя опцию zIndex.

6
MarcoK

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

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

Ты пытался?

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

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

0
Alain Gauthier

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

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

0
Dan Stotmeister