我遇到了一个我以前从未见过的问题,我们都知道和喜爱的浏览器。在此页面上 - 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
.
干杯。