在使用我们都知道和喜爱的浏览器时,我遇到了一个从未见过的问题。在此页面 - 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 解决这个问题吗?
相关链接:
- 使用 jQuery Datepicker 修复的页面:http ://weresayingido.com/register
- 在没有 Datepicker hack 的情况下呈现的页面:http ://weresayingido.com/manage/login