|  RSS订阅  |  加入收藏

钉钉H5微应用日历组件IOS不能唤起

H5微应用的JSAPI日期&月历组件在IOS上不能唤起的解决办法。
摘要

原本遇到的问题是ios上触发不了onclick事件。简单检索一番就找到了答案,只需要在相应的控件上加上样式cursor:pointer即可。原因是非点击元素上绑定了点击事件,IOS不能识别,所以在元素加个样式就可以了。

carbon.jpg


在IOS上无法唤起钉钉日期&月历组件的原因

微应用上一个字段需要输入日期,所以直接把钉钉日期控件加载了,测试的时候,安卓一切正常,会弹一个浮层出来显示完整的日历,也美观。到了IOS上却不行了,无法弹出日历。然后就去看了钉钉文档。明明是支持的,就奇怪了。因为日历组件我是通过click触发的,所以很容易想到是不是IOS无法触发click事件的问题,所以就有了前面这个办法。然后自感不对,因为input原本就是可点击元素。问题不在这里,直到下班无解。晚上回家,翻手机的时候,无意间发现安卓上面的日历浮层下面弹出了键盘。因为安卓的日期是浮层显示的,所以键盘完全没影响。再去看钉钉文档上的示例图显示IOS的是日期选择器,并且和键盘弹出方式一样,该不会被键盘挡住了吧。


解决办法

简单测试一般,用div标签替换了input,很明确就是被键盘遮挡了日期选择器。所以改造一下input的输入即可。钉钉日期组件是回调一个日期的,所以通过jquery将结果写回input的方式操作。那就简单了,把input设为readonly熟悉。这样就无法触发焦点,IOS也就不弹键盘了,但是还有个问题,就是input置灰了,不知道的以为不能输入,用户体验不好,所以再给input加个样式background-color:#ffffff的样式即可。


如文章有用,点下广告吧
  钉钉开发    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!