我遇到了一个我从未见过的浏览器,我们都知道并喜欢这个问题。在此页面上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解决这个问题吗?
相关链接:
答案 0 :(得分:1)
IE7不喜欢visibility
,并且不认为body
是真正的元素。
保持您的网页可见(这对于您可能拥有的不幸的非JavaScript用户来说也更好)。如果绝对必须,请在style.css中使用body {display: none;}
,并在script.js中通过$('body').show()
显示。远离visibility
。
干杯。