jQuery show()方法在IE8或IE9中不使用blockUI

时间:2013-07-08 16:32:48

标签: 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”之后,即使它实际上没有出现在屏幕上。

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

思想???

1 个答案:

答案 0 :(得分:-1)

我发现了这个问题:

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