【发布时间】:2015-09-02 18:50:55
【问题描述】:
我在 HTML 中使用输入类型 DATE,在 Chrome 和 Firefox 中一切正常,但 IE 不显示日期选择器。
当我使用 JQuery Datepicker 时,我会在 Chrome 和 Firefox 中看到两个日期选择器对话框。
如何修复我可以使用日期输入类型并且我的表单只有一个弹出窗口的功能?
【问题讨论】:
标签: internet-explorer date datepicker
我在 HTML 中使用输入类型 DATE,在 Chrome 和 Firefox 中一切正常,但 IE 不显示日期选择器。
当我使用 JQuery Datepicker 时,我会在 Chrome 和 Firefox 中看到两个日期选择器对话框。
如何修复我可以使用日期输入类型并且我的表单只有一个弹出窗口的功能?
【问题讨论】:
标签: internet-explorer date datepicker
您需要使用polyfill 以便输入类型 DATE 在所有浏览器中具有一致的行为。您可以将此webshim 用作polyfill。
输入类型 DATE 是一种 HTML5 功能,并非所有浏览器都支持。如果您想使用浏览器(通常是 IE)不支持的 HTML5 功能,请使用以下两件事:
特征检测能够确定我们的浏览器是否支持 HTML5 功能。一个很好的库是Modernizr。您可以使用modernizr 做的是检测是否不支持您需要的任何功能,如果不支持,那么您可以有条件地加载一些将实现该功能的javascript 库。这些库被称为Polyfills。
例如,如果你想在 IE 10 中使用标签,你可以使用 jqueryui.com 控件来提供日期选择器。
Modernizr.load({
test: Modernizr.inputtypes.date,
nope: "js/jquery-ui.custom.js",
callback: function() {
$("input[type=date]").datepicker();
}
});
Modernizr 测试是否支持该功能,您可以选择使用 nope 来指示是否有一个库,仅当该功能不支持时才需要加载,回调是测试后将调用的代码加载库后。
【讨论】:
nope: "js/jquery-ui.custom.js"根据jquery文件在你的项目中的位置改变路径