为了账号安全,请及时绑定邮箱和手机立即绑定

如何在移动端更好地使用HTML5 date input

如何在移动端更好地使用HTML5 date input

www说 2019-04-15 12:08:15
如何在移动端更好地使用HTML5 date input
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

实现原理很简单,就是用一个text input做初始化日期展示,右边的向下箭头用label实现,设置for属性为text input的id。这样点击label时自动聚焦到input。text input获取焦点后立即将自己的type改为date,这样就有date picker的行为了。失去焦点后再改回type=”text”,依旧显示text input。如果仅仅是这样,还有个小问题,就是当input是text类型的时候,直接点击input,虽然type变成date了,但并不会触发picker,而是需要再次点击。这显然不符合要求,需要继续改善。受到前面的label启发,咱们可以在input上方覆盖一个透明的label,同样设置for属性为input的id。这样就不能直接点击到input,而是上层的label,同样会触发picker。至此,貌似完美解决了问题。但是且慢,在iPhone上用浏览器打开,发现无法触发picker!这是要闹哪样?无奈,只好在label上再监听点击事件,用代码将input改为date,同时让它获取焦点。这回应该可以了吧?自己试试

查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 707 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信