使用的框架是angularjs
代码为
<input type="date" id="beginDate" name="beginDate" ng-model="beginDate"
placeholder="yyyy-MM-dd" ng-change="dosth()" required />
以上代码在安卓手机上正常运行
但是在ios手机上时,我稍微划一下系统日期控件,我还没有点击确定,ios自己就把日期控件隐藏了,同时执行我的dosth方法,这个用户体验太差了,如果把ng-change="dosth()"这句去掉,又可以正常使用了,但是就不能执行切换事件了
请问有没有什么好的办法解决我的问题
问题很简单,也是我经验不足,angularjs框架在移动端,它的date组件,ng-change执行时间在安卓和ios端不同,安卓是点击确定时执行ng-change事件,ios是你滑动一下组件即执行ng-change事件,故只需改成ios在blur状态执行事件即可。
具体方法是
在dosth和dosth2方法里进行判断是安卓还是ios,然后执行对应的事件即可。
当然最好的方法,也是推荐的方法是封装成一个指令,这里就不说了,如果有需要可私聊我。