jQuery-ui的datepicker作得很不錯,在項目中常常用到,但對其總是在界面上出現 「?」 感受很不爽。出現的位置在頂部年和月之間,還有空的日期單元格。 jquery
這個問題困擾了我很長時間,一直想解決,但又沒有時間。今天終於找到了問題的答案! ui
以前認爲是頁面或庫的編碼問題,但反覆修改後沒有解決問題,因而確定了datepicker自己的問題。查看源代碼發現了問題所在,不過此問題已經在 jquery-ui-1.8.21.custom.min.js 中獲得了修正。但在 jquery-ui-1.8.19.custom.min.js 版本中存在此問題(以前版本也有可能),能夠修改對應部分。如下是兩個版本就此問題的差別部分: this
jquery-ui-1.8.19.custom.min.js 編碼
return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"?":"")+m),l+="</div>",l
jquery-ui-1.8.21.custom.min.js
return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="</div>",l
jquery-ui-1.8.19.custom.min.js spa
(bb&&!G?"?":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")
jquery-ui-1.8.21.custom.min.js
(bb&&!G?" ":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")
注: 是Unicode 和 ISO 8859-1的一種不間斷空格(Non-Breaking Space),ie6不支持,在這裏最好用" "替換。 code