You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Mozilla Firefox中隐藏原生日期选择器?解决双选择器问题

解决Firefox中双日期选择器的问题

当你使用第三方日期选择器插件(比如jQuery UI Datepicker)时,Firefox会对type="date"的输入框显示原生日期选择器,导致出现双选器的情况。这里有两种可靠的解决方式:

方法一:修改输入框类型为text(推荐

Play框架的@inputDate默认会生成type="date"的输入框,你只需要在参数里手动指定'type->"text",就能让输入框变成普通文本类型,Firefox就不会加载原生日期选择器了,同时你的第三方datepicker插件依然能正常工作。

修改后的代码如下:

@inputDate( 
  userForm("office.joining_date"), 
  'id->"joining_date", 
  'name->"joining_date", 
  'class->"span4 datepicker", 
  '_label->"Joining Date (dd-mm-yyyy)", 
  'placeholder ->"Enter Joining Date (dd-mm-yyyy)",
  'type->"text"  <!-- 新增这个属性 -->
)

这个方法最直接,避免了浏览器原生行为的干扰,同时不影响第三方插件的功能。

方法二:用CSS隐藏Firefox原生日期选择器

如果你不想修改输入框类型,可以通过CSS针对Firefox的伪元素来隐藏原生选择器:

/* 隐藏Firefox原生日期选择器的触发按钮 */
input[type="date"].datepicker::-moz-calendar-picker-indicator {
    display: none !important;
}

/* 让输入框表现得像普通文本框 */
input[type="date"].datepicker {
    -moz-appearance: textfield;
}

这段CSS会针对带有datepicker类的日期输入框,隐藏Firefox的原生选择器按钮,并让输入框样式和普通文本框一致。

你可以根据自己的需求选择其中一种方法,第一种方法更稳妥,不容易出现兼容性问题~

内容的提问来源于stack exchange,提问作者ankita lembhe

火山引擎 最新活动