0

望ましい動作:

  • popup1 は 100x100 です
  • popup2 は 50x50 です
  • どちらのポップアップも私の目的のためにモーダルにすることはできません。

popup1 が表示されている場合、popup2 もその前に表示する必要があります。popup2 を常に popup1 の前に配置したいのですが、popup1 をクリックすると popup2 は常に popup1 の後ろに移動します。「前に」と言うときは、popup1 がアクティブなポップアップであっても、popup2 の z-index を常に (最前面に) 高くしたいという意味です。

試みと情報:

ページのマークアップを見ると、単一のポップアップがデフォルトで 12000 の z-index を取得することがわかります。

css を使用して、次のように各ポップアップに異なる z-index 値を指定しようとしました。

.popup1{z-index:20000!important;}
.popup2{z-index:21000!important;}

私もこのように試しました:

.popup1{z-index:11000!important;}
.popup2{z-index:12001!important;}

同様のcssを使用して、各ポップアップをdivタグでラップすることも試みました。

各ポップアップの z-index は、アクティブかどうかに応じて 12002 に更新されます。これは、設定に関係なく行われます。

また、大きなポップアップを div タグでラップし、onclick イベントを処理して、小さなポップアップの z-index を設定しようとしました。

前もって感謝します!

いくつかの準関連リンク:

http://www.devexpress.com/Support/Center/p/Q346044.aspx

http://www.devexpress.com/Support/Center/p/Q382392.aspx

http://www.devexpress.com/Support/Center/p/Q36091.aspx

4

2 に答える 2

0

以前、onclick イベントを処理する div で popup1 (背面) をラップして popup2 (前面) を前面に表示しようとしましたが、うまくいきませんでした。

うまくいったのは、代わりに div ラッパーの onmousedown イベントを処理することでした。

于 2013-05-14T16:36:36.640 に答える
0

popup1 Shownイベントで popup2 BringToFrontメソッドを呼び出すことができます。

<dxpc:ASPxPopupControl ClientInstanceName="popup1"...>
    <ClientSideEvents Shown="
        function(s, e) { 
            if(e.window.index == 0) popup1.BringWindowToFront(popup1.GetWindow(1))
        }"/>
</dxpc:ASPxPopupControl>

このサンプルは、2 つのウィンドウを含む 1 つのポップアップ コントロールで動作します。そうでない場合 (1 つのウィンドウに 2 つのポップアップ コントロールがある場合など)、必要に応じてサンプルを調整してください。

于 2013-05-14T09:11:31.090 に答える