IE 7显示bug和jQuery Datepicker

时间:2012-04-25 21:56:28

标签: jquery css internet-explorer-7 jquery-ui-datepicker

我遇到了一个我从未见过的浏览器,我们都知道并喜欢这个问题。在此页面上http://weresayingido.com/register - 标签和帮助文字在IE中无法正常显示。但是,使用以下代码快速闪烁Datepicker会导致所有文本正常呈现。

// IE detection hackery
if ('\v' == 'v') {
  // Flash the Datepicker UI
  $('input[name="date"]').focus();
  $('input[name="date"]').blur();
  setTimeout("$('body').mousedown()", 1);
}

(是的,setTimeout是必要的,否则Datepicker块就会停留在那里。不,我不知道为什么会这样,但我很想知道。)

鉴于这绝对是一个相当黑客的黑客攻击,我想知道为什么会发生这种情况,如果可以在不使用这种技巧的情况下进行复制,特别是只使用CSS / HTML。有人碰巧知道这些问题的答案吗?

tl; dr: jQuery UI Datepicker正在做的事情是强制文本在IE 7中可见,否则不会。我可以用CSS / HTML解决这个问题吗?

相关链接:

1 个答案:

答案 0 :(得分:1)

IE7不喜欢visibility,并且不认为body是真正的元素。

保持您的网页可见(这对于您可能拥有的不幸的非JavaScript用户来说也更好)。如果绝对必须,请在style.css中使用body {display: none;},并在script.js中通过$('body').show()显示。远离visibility

干杯。