正如标题所示,我遇到了一些 IE7 问题。我现在遇到的问题是我的对话框无法正常工作。好吧,对话框本身可以工作,但它上面的按钮没有显示出来。也就是说,直到我将鼠标悬停在它实际放置的位置。
这是jquery代码
$('#sessionTimeout-dialog').dialog({
autoOpen: false,
width: 400,
modal: true,
closeOnEscape: false,
open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); },
buttons: [{
// Button one - closes dialog and makes call to keep-alive URL
text: o.stayConnected,
"class": "confirmSession",
click: function () {
$(this).dialog('close');
$('#sessionTimeout-dialog div div button').addClass('confirm');
$.ajax({
type: 'POST',
url: o.keepAliveUrl
});
$('.formOverlay').find('*').attr('disabled', false);
// Stop redirect timer and restart warning timer
controlRedirTimer('stop');
controlDialogTimer('start');
}
}]
});
由于这确实适用于 IE8 及更高版本、FF 和 Chrome,我开始认为这是 IE7 与对话框生成的控件有关的问题。
所以再次总结一下:
IE8+工作
IE7 具有以下行为:
类=“确认会话”
- 页面加载
- 没有 javascript 错误
- 对话框显示没有按钮
- 我将鼠标悬停在按钮应该在的位置
- 该按钮神奇地以正确的 CSS 样式显示。
没有类=“确认会话”
- 页面加载
- 没有 javascript 错误
- 对话框显示按钮(没有 css,因为它没有 css 类)
由于我对这种行为感到困惑,我希望我们可以一起解决。
编辑:
根据要求:confirmSession 类的我的 CSS 样式;它取自 .less 文件。
.confirmSession {
width:45%; font-size: 1em; background: #4c8cb4 !IMPORTANT; border: #427594 1px solid; padding: 0px; color: #fff; text-decoration: none; .box-sizing(border-box); white-space: normal; cursor: pointer; float: none; font-weight: 400; margin: 10px 2%; display: block; float: left;
-webkit-box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.4), 2px 2px 3px -2px rgba(0, 0, 0, 0.4);
-moz-box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.4),2px 2px 3px -2px rgba(0, 0, 0, 0.4);
box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.4), 2px 2px 3px -2px rgba(0, 0, 0, 0.4);
text-align: center; position: absolute; bottom: 1em; left: 10px; right: 10px;
}