解决移动端 ios 系统键盘遮挡的问题
亲测ios9,ios10系统有效,其他请自行测试,建议通过判断系统类型来动态引入此脚本
varisIPHONE=navigator.userAgent.toUpperCase().indexOf("IPHONE")!=-1;
if(isIPHONE){
//元素失去焦点隐藏iphone的软键盘
functionobjBlur(obj,time){
varstartTime=0,endTime=0,
time=!time?30:time,
docTouchend=function(event){
endTime=newDate().getTime();
if(event.target!=obj&&(endTime-startTime<300)){
setTimeout(function(){
obj.blur();
document.removeEventListener("touchend",docTouchend,false);
},time);
}
};
document.addEventListener("touchstart",function(){
startTime=newDate().getTime();
});
document.addEventListener("touchend",docTouchend,false);
}
$("input").on("focus",function(){
varid=this.id;
varself=this;
varH=window.innerHeight;
varpos=getPosition(self);
if(isIPHONE){
varinput=newobjBlur(self);
input=null;
}
});
functiongetPosition(target){
varleft=0,top=0;
do{
left+=target.offsetLeft||0;
top+=target.offsetTop||0;
target=target.offsetParent;
}while(target);
return{
left:left,
top:top
};
}
}
以上这篇解决移动端ios系统键盘遮挡的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。