IE 7 显示错误和 jQuery 日期选择器



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

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

(是的,setTimeout 是必需的,否则日期选取器块只会停留在那里。不,我不知道为什么会这样,但我很想知道。

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

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

相关链接:

  • 使用 jQuery 日期选择器修复的页面:http://weresayingido.com/register
  • 在没有日期选择器黑客的情况下呈现的页面:http://weresayingido.com/manage/login

IE7不喜欢visibility,也不认为body是一个真正的元素。

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

干杯。

最新更新