jquery对话框按钮直到将鼠标悬停在ie上才会显示

时间:2013-03-18 10:14:23

标签: jquery html css

标题显示我有一些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与对话框生成的控件有关的一个问题。

所以只是为了再次sumarize:

IE8 +工作

IE7具有以下行为:

with class =“confirmSession”

  1. 页面加载
  2. 没有javascript错误
  3. 对话框显示无按钮
  4. 我将鼠标悬停在按钮应
  5. 的位置
  6. 按钮神奇地显示正确的css样式。
  7. 没有class =“confirmSession”

    1. 页面加载
    2. 没有javascript错误
    3. 对话框显示按钮(没有css,因为它没有css类)
    4. 由于我对这种行为感到困惑,我希望我们能够一起解决这个问题。

      编辑:

      按要求:我的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; 
              }
      

1 个答案:

答案 0 :(得分:2)

无论您在confirmSession类中使用哪种样式都被jQuery样式覆盖。

所以在你的风格之前使用!important

删除所有css属性,然后尝试逐个添加。然后我们可以找出问题

相关问题