1

タイトルはそれをすべて言います。他のブラウザでは問題なく動作しますが、IE8 と IE9 では show() メソッドが機能しません...

コードで blockUI モーダルを設定する方法は次のとおりです。

            $.blockUI({
                uniqueName: 'the-modal-that-will-not-show',
                focusInput: false,
                message: foo_html,
                css: {
                    padding: 0,
                    margin: 0,
                    top: '50%',
                    left: '50%',
                    'margin-top': '50px',
                    'margin-left': '275px',
                    textAlign: 'left',
                    color: '#000',
                    position: 'absolute',
                    width: '530px',
                    'z-index': 2300,
                    left: '0px',
                    top: '10px'
                },
                overlayCSS: {
                    'z-index': 2299,
                    opacity: 0.5
                }
            });

どこに置いても

$('#the-modal-that-will-not-show').show()

...それは表示されません。IE で Javascript コンソールを開いて実際にそのコマンドを入力すると、モーダルが表示されますが、間違った場所に表示され、一部の入力が正しくフォーマットされていません。

そして奇妙なことは、モーダルが表示されているかどうかを知らせるアラートで .show() コマンドを囲んだことです。.show() コマンドの前では「false」と表示され、その後は「true」と表示されますが、実際には画面に表示されていません。

また、'padding': '0' など、すべての CSS を引用符で囲んでみましたが、違いはありませんでした。

感想???

4

1 に答える 1

-1

私は問題を見つけました:

このモーダルを含む関数は、$.unblockUI コマンドの直後に呼び出され、IE は $.unblockUI が終了する前にコードを実行しています。そこに遅延を入れると、うまく機能します。

于 2013-07-08T17:18:06.670 に答える