检测日期和日期时间类型的输入类型支持?

Detecting input type support of date and datetime types?

我尝试使用 Modernizr 检测对 datedatetime 输入字段 (HTML5) 的支持,但这些变量总是 return false ,即使它们受支持(即在 Chrome 中):

if(Modernizr.inputtypes.datetime) {
    jQuery("#what").html("Yes, I know datetime input fields.");
} else {
    jQuery("#what").html("Sorry, what is a datetime input field?");
}
#what {
    padding : 2em;
    margin  : 2em;
    text-align : center;
    
    border : 1px solid #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="what">Well... I'm not sure.</div>

通过研究这个问题it seems this bug is an old habit

我该如何解决?

我认为您想要的是 if (Modernizr.inputtypes.date) 而不是 datetime,因为没有名为 datetime 的输入类型。

datetimechromefirefox 上不受支持。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime

对于未来的参考,您可以使用: https://developer.mozilla.org/

改用Modernizr.inputtypes['datetime-local']Modernizr.inputtypes['date']