/ / jQuery show()メソッドがIE8またはIE9のblockUIで動作しない-jquery、internet-explorer-8、internet-explorer-9、blockui

jQuery show()メソッドがIE8またはIE9のblockUIで動作しない - jquery、internet-explorer-8、internet-explorer-9、blockui

タイトルがすべてを語っています。他のブラウザでも完全に動作しますが、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を引用符で囲んでみました。違いはありませんでした。

考え???

回答:

回答№1の場合は-1

私は問題を発見した:

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