18

jQuery UI(1.10)の最新バージョンがzIndexオプションを削除していることがわかりました。そして、それはjQueryのWebサイトで確認されています。

本当にショックでした。これについて考えてください:

jqgridがあり、editrow()またはaddrow()を使用して編集ダイアログを開いて何かを編集し、その中に多くのフィールドがあり、クリックすると別のjQueryダイアログが表示されるなどの自己定義イベントがある場合選択するいくつかのツリービューアイテム。

jQuery UI 1.9(付属)では、jQueryダイアログのzIndexオプションをjqgrid編集ダイアログ(jqgrid編集ダイアログサポートセットzIndex)よりも大きく設定できるため、jQueryダイアログは常に表示され、表示および使用できます。

jQuery UI 1.10では、を設定できzIndexないため、jQueryダイアログは常にjqgrid編集ダイアログの背後にあります。

そのようなシーンは非常に一般的だと思います。

jQueryUI1.10がjQueryダイアログzIndexオプションを削除する理由 z-index複数のダイアログがある場合に順序を制御するにはどうすればよいですか?

4

6 に答える 6

26

私はあなたの問題を理解していると思います。jQuery UI ダイアログの CSS z-index は、コンテンツの上に常に表示するには十分な高さではありません。簡単な修正は次のとおりです。

/* 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. */
}
于 2013-03-13T15:32:06.687 に答える
6

jQuery UI 1.10からの変更ログを読んでください(それに対して提出されたバグと一緒に):

zIndex オプションを削除

stack オプションと同様に、適切なスタック実装では zIndex オプションは不要です。z-index は CSS で定義され、スタックは、フォーカスされたダイアログがその親の最後の「スタック」要素になるようにすることで制御されるようになりました。

つまり、 zIndex オプションを使用してスタックする方法を「ハッキング」するのではなく、要素をプロパティ スタックにする必要があります。

于 2013-02-19T09:36:18.380 に答える
0

「appendTo」オプションを使用してみましたか? 必要な z-index を持つラッパーを動的に追加し、その要素の ID を「appendTo」引数のセレクターとして使用します。

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

于 2013-03-25T15:50:49.373 に答える
0

やってみました?

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

参照: http://api.jqueryui.com/dialog/#method-moveToTop

于 2014-05-30T17:03:47.120 に答える
-2
 $('#element').dialog({     modal: true,
                            stack: false,
                            zIndex: 9999,
...

私のために働いた

于 2014-07-17T09:35:51.103 に答える