原本遇到的问题是ios上触发不了onclick事件。简单检索一番就找到了答案,只需要在相应的控件上加上样式cursor:pointer
即可。原因是非点击元素上绑定了点击事件,IOS不能识别,所以在元素加个样式就可以了。
微应用上一个字段需要输入日期,所以直接把钉钉日期控件加载了,测试的时候,安卓一切正常,会弹一个浮层出来显示完整的日历,也美观。到了IOS上却不行了,无法弹出日历。然后就去看了钉钉文档。明明是支持的,就奇怪了。因为日历组件我是通过click触发的,所以很容易想到是不是IOS无法触发click事件的问题,所以就有了前面这个办法。然后自感不对,因为input原本就是可点击元素。问题不在这里,直到下班无解。晚上回家,翻手机的时候,无意间发现安卓上面的日历浮层下面弹出了键盘。因为安卓的日期是浮层显示的,所以键盘完全没影响。再去看钉钉文档上的示例图显示IOS的是日期选择器,并且和键盘弹出方式一样,该不会被键盘挡住了吧。
简单测试一般,用div标签替换了input,很明确就是被键盘遮挡了日期选择器。所以改造一下input的输入即可。钉钉日期组件是回调一个日期的,所以通过jquery将结果写回input的方式操作。那就简单了,把input设为readonly熟悉。这样就无法触发焦点,IOS也就不弹键盘了,但是还有个问题,就是input置灰了,不知道的以为不能输入,用户体验不好,所以再给input加个样式background-color:#ffffff
的样式即可。