【问题标题】:Disable datepicker if type=date supported如果 type=date 支持,则禁用日期选择器
【发布时间】:2016-01-08 13:52:43
【问题描述】:

我使用 MVC 在我的几个网页上安装了一个 jQuery 日期选择器。因此 type="date" 被添加到控件中。

  1. 如果使用 IE11 或更低版本,则 jQuery 控件显示正确。
  2. 如果使用 Firefox 42,jQuery 控件显示正确。
  3. 如果使用 MS-Edge,我会得到 Edge 日期选择器和 jQuery 日期选择器。
  4. 如果使用 Chrome,我会同时获得两个日期选择器。
  5. 如果使用 Safari (Windows) 我得到了一些东西,但我不确定它是什么。
  6. 某些移动设备结合了上述情况。

所以我同意浏览器选择是错误的普遍共识并且真的不想猜测哪些浏览器支持什么,我确实需要一个解决方案。

有没有办法确定浏览器是否有自己的日期选择器?

基本上,如果浏览器支持,我想关闭 jquery datepicker,如果不支持,我想打开它。

我在想的另一件事是添加一个日期选择器按钮,这样用户可以使用默认值(如果他们想要或需要 jQuery 日期选择器)单击该按钮。这样至少两个选项不会竞争。

建议?

【问题讨论】:

  • 然后尝试使用modernizr lib。
  • 我的项目安装了modernizr-2.8.3,这对我有什么帮助?或者我想更好的问题是在这种情况下我该如何使用它?
  • 您可以检查浏览器是否支持类型日期元素,如果不支持,则将其替换为类型 texxt 并使用日期选择器。
  • if(Modernizr.inputtypes.date) { //supports } else { //datepicker};

标签: jquery jquery-ui datepicker asp.net-mvc-5


【解决方案1】:

正如泰米尔·塞尔万在评论中指出的那样。
这就是我让它工作的方式。

if (!Modernizr.inputtypes.date)
{
    $("input[type=date]").datepicker();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2013-07-25
    • 1970-01-01
    相关资源
    最近更新 更多