您的位置:首页 > 移动开发 > IOS开发

解决移动端 ios 系统键盘遮挡的问题

2017-12-19 14:07 1116 查看

亲测 ios 9 ,ios10 系统有效,其他请自行测试,建议通过判断系统类型来动态引入此脚本

var isIPHONE = navigator.userAgent.toUpperCase().indexOf("IPHONE")!= -1;
if(isIPHONE){
// 元素失去焦点隐藏iphone的软键盘
function objBlur(obj,time){
var startTime=0,endTime=0,
time = !time?30:time,
docTouchend = function(event){
endTime = new Date().getTime();
if(event.target!= obj && (endTime - startTime <300)){
setTimeout(function(){
obj.blur();
document.removeEventListener("touchend", docTouchend,false);
},time);
}
};
document.addEventListener("touchstart",function(){
startTime = new Date().getTime();
});
document.addEventListener("touchend", docTouchend,false);
}
$("input").on("focus",function(){
var id = this.id;
var self = this;
var H = window.innerHeight;
var pos = getPosition(self);
if(isIPHONE){
var input = new objBlur(self);
input=null;
}
});
function getPosition(target) {
var left = 0, top = 0;
do {
left += target.offsetLeft || 0;
top += target.offsetTop || 0;
target = target.offsetParent;
} while(target);
return {
left: left,
top: top
};
}
}

以上这篇解决移动端 ios 系统键盘遮挡的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息