如何让IE在IE中支持日期选择器

R D*_*abh 2 internet-explorer datepicker jquery-mobile

当我使用jquery mobile在IE中为日期创建输入标记时,没有像chrome中那样显示的日历弹出窗口.是否有可以下载的插件可以为IE创建日历弹出窗口?

这是我正在使用的HTML:

<input id="EndDate" name="EndDate" type="date" value="">
Run Code Online (Sandbox Code Playgroud)

并且我测试过的所有IE版本都没有内置的日期选择器(IE 8,9,10等)

Spu*_*ley 6

<input type="date"> 任何版本的IE都不支持作为本机功能.

最好的解决方案是使用"Polyfill"脚本.Polyfill是一种小脚本,用于添加对某些浏览器中可能缺少的功能的支持.通常,它们允许站点作者编写其正常的标准HTML或CSS代码,并且polyfill脚本执行幕后工作以使该功能正常工作.

Modernizr项目有一个Wiki页面,列出了一整堆polyfill脚本.此页面包含至少两个填充该<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";
}
Run Code Online (Sandbox Code Playgroud)

然后你会像这样使用它:

if(!browserSupportsDateInput()) {
    //not supported, so run the polyfill script instead.
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.