0

在使用我们都知道和喜爱的浏览器时,我遇到了一个从未见过的问题。在此页面 - 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 块只会留在那里。不,我不知道为什么会这样,但我很想知道。)

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

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

相关链接:

4

1 回答 1

1

IE7 不喜欢visibility,也不考虑body真正的元素。

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

干杯。

于 2012-04-25T23:02:11.693 回答