2011-12-29 7 views
0

jQueryのUIダイアログにはdialogClassオプションがあります。これは、ダイアログがドキュメント<body>の中に直接ネストされているためです。しかし、modalオプションをtrueに設定すると、ui-widget-overlay divも(ダイアログdivの兄弟として)ボディ内で直接レンダリングされます。jQuery UIダイアログを開くときにカスタムui-widget-overlayクラスを設定できますか?

modal: trueのjQuery UIダイアログを開くときに実際にoverlayClassを適用する方法はありますか?

<body>にクラス属性を指定するか、.ui-widget-overlayクラスを直接オーバーライドすることで、オーバーレイにカスタムCSSを適用できます。私は、次の作業のようなCSS定義を作成するソリューションを探しています:

.my-custom-class.ui-widget-overlay { 
    opacity: .5; 
} 
+0

の可能重複[jQueryのUI、モーダルダイアログオーバーレイ背景色を設定します] (http://stackoverflow.com/questions/5583995/set-jquery-ui-modal-dialog-overlay-background-color) –

答えて

2

このためのオプションはありません。ソースを見ると、そこにジョッキーする簡単な方法はありません。

var $el = (this.oldInstances.pop() || $('<div></div>').addClass('ui-widget-overlay')) 
     .appendTo(document.body) 
     .css({ 
      width: this.width(), 
      height: this.height() 
     }); 

あなたはおそらくちょうど/カスタマイズ/オーバーライドするデフォルトのスタイリングを拡張するために、あなたのCSSを更新するために最善を次のようになります。参考のため、ここではクラスが追加されますビットです。

3

実際には、CSSを使用してこれを行う簡単な方法があります(jQuery UIライブラリをダウンロードしている限り)。題しjqueryのスタイルシートがあるはずです:「jqGrid-のcustom.css」

は、単にオーバーレイセクションに移動して、この行を調整:

.ui-widget-overlay { background: #aaaaaa url(/img/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity:.9;filter:Alpha(Opacity=90); } 
関連する問題