我遇到了一個我從未見過的,我們都知道並喜愛的瀏覽器的問題。在此頁面上 - http://weresayingido.com/register - 標籤和幫助文本在IE中無法正常顯示。但是,使用以下代碼快速閃爍Datepicker會導致所有文本正常呈現。IE 7顯示錯誤和jQuery Datepicker
// IE detection hackery
if ('\v' == 'v') {
// Flash the Datepicker UI
$('input[name="date"]').focus();
$('input[name="date"]').blur();
setTimeout("$('body').mousedown()", 1);
}
(是的,setTimeout的是必要的,否則的日期選擇器塊只是停留在那裏。不,我不知道這是爲什麼,但我很想知道。)
鑑於這是通過一切手段相當hacky黑客,我想知道爲什麼這種情況發生,如果有可能不使用這個欺騙,特別是使用CSS/HTML複製。任何人都碰巧知道這些答案?
tl; dr: jQuery UI Datepicker正在做的事情是迫使文本在IE 7中可見地呈現,否則不會。我可以用CSS/HTML解決這個問題嗎?
相關鏈接:使用
- 頁固定的jQuery日期選擇器:http://weresayingido.com/register
- 頁無日期選擇器破解呈現:http://weresayingido.com/manage/login
我把'visibility'換成了我的內容元素,它看起來工作得很好 - 顯然它只是把'body'弄糟了。另外,感謝您指出非JS位 - 我沒有真正考慮過它,因爲真的,誰沒有開啓JS?但是FOUC可能確保任何人都可以使用它。但是,有什麼想法爲什麼Datepicker的東西正在解決可見性問題?仍然不完全得到那一個。 – 2012-04-26 14:57:16
我不確定,但datepicker刷新body元素(或添加一個額外的類,這將強制刷新)。無論如何,很高興聽到它的作品! – Seabass 2012-04-26 23:46:30