亲测 ios 9 ,ios10 系统有效,其他请自行测试,建议通过判断系统类型来动态引入此脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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 系统键盘遮挡的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/ozhangbi/article/details/78830434