可能是重复问题:
HTML5类型检测和插件初始化
<input type=date>
我们希望创建一个具有(可选)用户代理提供的日期选择器的输入框,但是该功能目前还没有广泛支持,因此我们使用了jQuery UI日期选择器。如何让浏览器使用自己的日期选择器,并仅在浏览器没有这样的功能时回退到jQuery UI?
目前我认为只有Opera浏览器内置了日期选择器,但测试Opera显然不是一个好办法。是否有一种方法可以以便携方式检测此功能(如果有的话)?
可能是重复问题:
HTML5类型检测和插件初始化
<input type=date>
我们希望创建一个具有(可选)用户代理提供的日期选择器的输入框,但是该功能目前还没有广泛支持,因此我们使用了jQuery UI日期选择器。如何让浏览器使用自己的日期选择器,并仅在浏览器没有这样的功能时回退到jQuery UI?
目前我认为只有Opera浏览器内置了日期选择器,但测试Opera显然不是一个好办法。是否有一种方法可以以便携方式检测此功能(如果有的话)?
以下方法检查大多数浏览器是否支持某些输入类型:
function checkInput(type) {
var input = document.createElement("input");
input.setAttribute("type", type);
return input.type == type;
}
不过,正如simonox在评论中提到的那样,某些浏览器(例如Android原生浏览器)会假装支持某些类型(例如日期),但它们没有为日期输入提供用户界面。所以simonox采用了将非法值设置到日期字段的技巧来改进实现。如果浏览器对此输入进行清理,则可能会提供一个日期选择器!!!
function checkDateInput() {
var input = document.createElement('input');
input.setAttribute('type','date');
var notADateValue = 'not-a-date';
input.setAttribute('value', notADateValue);
return (input.value !== notADateValue);
}
input.type
是一个字符串。 - Michael Cordingleyif(Modernizr.inputtypes.week) //ok the browser support this!
。 - JoDev
<input class=datepicker>
并始终使用jquery ui datepicker(老式方法)。 - DaedalusFall