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() 命令之前,它告诉我“假”,在它说“真”之后,即使它实际上并没有出现在屏幕上。

我还尝试将所有 CSS 内容放在引号中,例如 'padding': '0' 等。没有任何区别。

想法???

4

1 回答 1

-1

我发现了问题:

包含此模式的函数在 $.unblockUI 命令后立即调用,并且 IE 在 $.unblockUI 完成之前执行代码。如果我把延迟放在那里,它工作正常。

于 2013-07-08T17:18:06.670 回答