随着 HTML5 出现了一组新的输入类型。其中之一是 date
,在 Chrome 中,此输入会生成一个不错的 native 日期选择器,如下所示。
它还在移动设备上提供 native 日期选择器,这是我使用新输入类型的主要优点。
但是,在 Firefox (23.0.1) 和 IE (10) 上, native 日期选择器不会出现,输入被视为普通文本输入。在这些情况下,我想回退到 Javascript 日期选择器。
这是运行 AngularJS 的站点,当前的日期选择器插件是 bootstrap-datepicker .如果浏览器支持 native 日期选择器,我禁用此插件的最简单方法是什么?我是否只需要检查浏览器是否支持 date
输入类型并在支持时禁用该插件?
最佳答案
您可以像这样进行 HTML5 功能检查:
// Determine if this browser supports the date input type.
var dateSupported = (function() {
var el = document.createElement('input'),
invalidVal = 'foo'; // Any value that is not a date
el.setAttribute('type','date');
el.setAttribute('value', invalidVal);
// A supported browser will modify this if it is a true date field
return el.value !== invalidVal;
}());
然后只有在 !dateSupported
时才初始化引导日期选择器。
关于javascript - Chrome 上的原生日期选择器和 IE/Firefox 的回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580934/