如何在所有浏览器上支持`<input type="date">`?

随着 HTML5 的普及,<input type="date"> 已经成为网页上展示日期的标准方式。但是,各个浏览器对该输入类型的支持并不一致,有些浏览器甚至完全不支持。

本文将介绍如何在所有主流的浏览器上实现<input type="date">,包括 Chrome、Firefox、Safari、Edge 和 IE11。

1. 使用 Modernizr

Modernizr 是一个开源库,用于检测浏览器是否支持 HTML5 和 CSS3 特性。我们可以使用它来检测浏览器是否支持 type="date" 输入类型,并根据结果提供备选方案。

--------- -----
------
------
  --------------------
  ------- ---------------------------------------------------------------------------------------
-------
------
  ------ ------------------------
  ------ ----------- ----------
  
  --------
    -- ---------------------------- -
      -- -------- ---- ----- ------ -- ----------
      ---------------------------- -
        ------------------------
      ---
    -
  ---------
-------
-------

2. 使用 jQuery UI Datepicker

jQuery UI Datepicker 是一个流行的 jQuery 插件,可以在不支持 type="date" 的浏览器上提供日期选择器。

--------- -----
------
------
  --------------------
  ----- ---------------- -------------------------------------------------------------
-------
------
  ------ ------------------------
  ------ ----------- ----------
  
  ------- --------------------------------------------------
  ------- --------------------------------------------------------
  --------
    ---------------------------- -
      ------------------------
    ---
  ---------
-------
-------

3. 使用 Flatpickr

Flatpickr 是一个轻量级的 JavaScript 库,用于在任何浏览器上提供日期选择器。

--------- -----
------
------
  --------------------
  ----- ---------------- ---------------------------------------------------------------------
-------
------
  ------ ------------------------
  ------ ----------- ----------
  
  ------- ------------------------------------------------------
  --------
    -------------------
  ---------
-------
-------

结论

本文介绍了三种方法来在所有主流浏览器上实现<input type="date">。虽然 Modernizr 和 jQuery UI Datepicker 是可靠的备选方案,但它们需要引入额外的 JavaScript 库,而 Flatpickr 更加轻量级方便。

如果你需要提供更好的用户体验,推荐使用 Flatpickr。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/15701