最近提测后,发现ios升级到12版本之后,引发了调用确认框的组件之后按钮失效问题. 然后开始了升级复现bug的各种操作,最后发现是完成后键盘收起后,页面没有回滚,因为页面整体被推上了一定高度,导致错位,从而引起后定位显示的确认框组件中的按钮失效(实际的生效位置在显示位置的上方). 整体开发使用的是vue框架,ui框架使用的是vant,没有再单独引入jquery,这个问题我最后使用原生js解决的. 整体思路是,首先监听聚焦,给一个标志位,然后在失焦的时候判断是否为真正失焦(即其他的input是否同…
使用说明:只要替换选择器:var selector = '.phone_body'; /** * 阻止iOS中页面弹性回滚,只允许div.scroller的区块有弹性 */ (function () { var selector = '.phone_body'; var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//安卓手机 //alert("安卓手机&quo…
Spring使用声明式事务处理,默认情况下,如果被注解的数据库操作方法中发生了unchecked异常,所有的数据库操作将rollback:如果发生的异常是checked异常,默认情况下数据库操作还是会提交的. checked异常: 表示无效,不是程序中可以预测的.比如无效的用户输入,文件不存在,网络或者数据库链接错误.这些都是外在的原因,都不是程序内部可以控制的.必须在代码中显式地处理.比如try-catch块处理,或者给所在的方法加上throws说明,将异常抛到调用栈的上一层. 阿里编码规约示…
微信里面打开web页面,在ios软键盘收起时,页面键盘位置的内容留白,如下图 这个问题纠结了很久,然后请教了老大(威哥),看到页面老大给出的方案就是代码改变滚动条的位置. 这里就监听键盘收起的事件,来改变滚动条位置. //这里区分系统方法和键盘弹出和收起在前两篇文章有记录 document.body.addEventListener('focusout', this.focusoutFunc); //软键盘收起的事件处理 let _isIOS = -1: export function isIO…
<div class="top-box"> <img src=" class="youlink-img" /><br /> <img src="~/Content/img/top.gif" class="top-img" /> </div> //根据浏览页面的高度,显示回滚标签 $(window).scroll(function () { )) { $('.…
环境:vue+vant 的H5页面 场景:输入框输入信息时,如登录.注册等表单信息 问题:键盘收回后页面底部留白,导致dialog组件按钮位移,视觉上,其中的按钮无法正常工作 解决方案:监听失去焦点时,让页面滚动到顶部 HTML:添加失去焦点事件钩子 <input class="input" placeholder="输入手机号" max="11" min="11" maxlength="11" v-…
$("#logincode").blur(function(){ //滚动到顶部 window.scrollTo(0, 0); })一般多用于密码框失焦后,页面不回滚…
H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的事件,当输入框失去焦点,页面自动滚动到顶部,并且需要加定时器,否则偶尔会失效, $("input,select").blur(function(){ setTimeout(function() {                var scrollHeight = document.doc…
H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的事件,当输入框失去焦点,页面自动滚动到顶部,并且需要加定时器,否则偶尔会失效, //blur失去焦点事件$("input,select,textarea").blur(function(){ setTimeout(function() {                 ;       …
近期在开发微信H5页面时碰到这个问题,如图,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,这也是ios的微信版本更新6.7.4之后才遇到的bug. 目前的解决办法是给输入框(或select选择框)添加失去焦点的事件,当输入框失去焦点,页面自动滚动到顶部,并且需要加定时器,否则偶尔会失效,具体代码如下: $("input,select").blur(function(){ setTimeout(() => { const scroll…