当前位置: 首页 > Web前端 > CSS

手机键盘和光标兼容

时间:2023-03-30 16:28:19 CSS

作者:@micky思@wupq@yewq在H5开发中,个人制作页面的布局习惯不同,真机上或多或少都会有输入光标和键盘各种会弹出的BUG。文中整理了遇到的一些问题。欢迎在ios移动端添加输入框,导致输入位置偏移。视口计算有问题,固定页面会失效,变成绝对的。这样一来,当屏幕数据超过一屏时,滑动页面时,输入框也会一起滚动,导致光标不跟随密码弹出框。解决方法:如果使用的页面数据不超过一屏(禁止滚动),即使变成绝对页面也不会发生变化。//在弹窗的事件中添加$('.wrap').css('height','100%');//wrap是包含除弹窗外所有页面元素的父div//关闭弹窗当div恢复原来的高度$('body').on('click','.pop_close',function(){$('.wrap').css('height','24.69rem');});//ps:如果整体背景图在父元素wrap,background-size:覆盖微信输入法键盘弹出无法恢复H5页面//判断ios系统varu=navigator.userAgent;if(u.indexOf('iPhone')>-1){var标志;$('body').on('focus','input',function(){flag=false;});$('body').on('blur','input',function(){flag=true;setTimeout(function(){if(flag==false){returnfalse;}else{document.body.scrollTop=document.body.scrollTop;}//防止in多输入切换时操作过多},0);//解决select引起的键盘弹出$('.select').on('click',function(){document.body.scrollTop=document.body.scrollTop;});});}readonly时,IOS会出现光标和输入提示