當我使用jquery mobile在IE中爲日期輸入標籤時,沒有日曆彈出窗口顯示如同在Chrome中一樣。有沒有我可以下載的插件,將創建一個日曆彈出的IE瀏覽器?我如何讓IE瀏覽器支持IE中的日期選擇器
這是我的HTML我使用:
<input id="EndDate" name="EndDate" type="date" value="">
和一個內置的日期選擇器是不是在我測試過IE所有版本(IE 8,9,10,等等。 )
當我使用jquery mobile在IE中爲日期輸入標籤時,沒有日曆彈出窗口顯示如同在Chrome中一樣。有沒有我可以下載的插件,將創建一個日曆彈出的IE瀏覽器?我如何讓IE瀏覽器支持IE中的日期選擇器
這是我的HTML我使用:
<input id="EndDate" name="EndDate" type="date" value="">
和一個內置的日期選擇器是不是在我測試過IE所有版本(IE 8,9,10,等等。 )
<input type="date">
作爲任何版本的IE的本地功能都不受支持。
最好的解決方案是使用「Polyfill」腳本。 Polyfills是編寫的小腳本,用於添加對某些瀏覽器中可能缺少的功能的支持。通常他們允許網站作者編寫他們正常的標準HTML或CSS代碼,並且polyfill腳本在幕後執行該工作以使該功能正常工作。
Modernizr項目有a Wiki page that lists a whole stack of polyfill scripts。該頁面至少包含兩個腳本,可以填充<input type='date'>
功能。我建議先試用這些腳本。 (網上可能有其他人,但如果Modernizr推薦他們,那麼他們可能是最好的)
談到Modernizr,你可能也想使用這個腳本,因爲它的工作是幫助您可以確定瀏覽器支持哪些功能,從而確定是否需要加載polyfill腳本。
Modernizr網站對如何進行瀏覽器功能檢測以及如何使用Modernizr加載polyfill腳本有很好的說明,所以我不再重複。
或者,如果您不想使用Modernizr,您可以編寫自己的功能檢測腳本 - 這很容易。這樣的事情應該做的伎倆:
function browserSupportsDateInput() {
var i = document.createElement("input");
i.setAttribute("type", "date");
return i.type !== "text";
}
,然後你會使用這樣的:
if(!browserSupportsDateInput()) {
//not supported, so run the polyfill script instead.
}
希望幫助。
在IE 11中不起作用 – Vinoth
你總是可以使用第三方日期選擇器的jQuery Mobile。
其中只有3個是麥芽汁提及,並且每個人都可以配置爲顯示某種日期格式,並且每個人都可以在所有設備上工作。你會推薦你使用Mobiscroll,因爲它具有看起來像本地移動/桌面日期選擇器的皮膚。
Mobiscroll - http://jsfiddle.net/Gajotres/WDjfR/
$(document).on('pagebeforeshow', '#index', function(){
$('#demo').mobiscroll().date({
invalid: { daysOfWeek: [0, 6], daysOfMonth: ['5/1', '12/24', '12/25'] },
theme: 'android-ics',
display: 'inline',
mode: 'scroller',
dateOrder: 'dd mm yy',
dateFormat : "dd-mm-yy"
});
});
Mobipick - http://jsfiddle.net/Gajotres/zyVjE/
$(document).on('pagebeforeshow', '#index', function(){
$('#demo').mobipick({
dateFormat: "MM-dd-yyyy"
});
});
Datebox - http://jsfiddle.net/Gajotres/ktbcP/
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "datebox", "useNewStyle":true, "dateFormat": "mm/dd/YYYY"}'/>
「只有其中3個值得一提」 - 儘量保持你的答案免於意見偏見。此外,如果這個答案是在一年後研究的,那麼這些選項幾乎肯定會改變。 – Blazemonger
這是我的私人目標陳述,與我活躍的成員所在的小組相關,如果有人知道任何其他解決方案,他可以自由撰寫評論。 – Gajotres
在IE中不工作11 – Vinoth
現在,我將默認使用較新的HTML5 date
輸入,它們在移動設備上提供相同的本機體驗,優於任何日期選擇器,並且具有跨設備一致性的優點。
<input type="date">
截至今天只有Chrome的桌面上對它的支持,它是公平的假設,其他瀏覽器會趕上最後,所以我們要開發使用這種第一和用JS搭上邊的情況,而我們仍然有至。
我會使用Modernizr的處理這些邊緣情況:
if !Modernizr.inputtypes.date
// initialise your own datepicker
// eg. http://amsul.ca/pickadate.js - which has the best support I've seen (IE8+)
通過這種方式,可以支持date
投入會,一切將啓動JS日期選擇器所有的瀏覽器。有了'最終'在未來真正輕鬆分解JS的額外獎勵。
請將相關的HTML代碼添加到問題中。還請指定您正在測試的IE版本。 – Spudley
就這麼你知道,搜索IE5的HTML5插件的最佳術語是「polyfill」。 – ceejayoz