【问题标题】:jQuery show() method not working with blockUI in IE8 or IE9jQuery show() 方法不适用于 IE8 或 IE9 中的 blockUI
【发布时间】:2013-07-06 01:55:00
【问题描述】:

标题说明了一切。在任何其他浏览器中都能完美运行,但在 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' 等。没有任何区别。

想法???

【问题讨论】:

  • 您使用的是哪个版本的 jQuery?
  • 1.7.由于各种我无法进入的情况,也无法升级。

标签: jquery internet-explorer-8 internet-explorer-9 blockui


【解决方案1】:

我发现了问题:

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

【讨论】:

  • 我有同样的问题,但我没有调用 unblockUI,但 IE 仍然冻结它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 2013-01-02
  • 2012-09-17
  • 1970-01-01
相关资源
最近更新 更多