Merge branch 'hotfix/fixinput' into 'master'
fix input See merge request !14
Showing
2 changed files
with
50 additions
and
0 deletions
@@ -88,6 +88,31 @@ | @@ -88,6 +88,31 @@ | ||
88 | s.parentNode.insertBefore(hm, s); | 88 | s.parentNode.insertBefore(hm, s); |
89 | })(); | 89 | })(); |
90 | }()); | 90 | }()); |
91 | + | ||
92 | + function isWeiXinAndIos() { | ||
93 | + // window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型 | ||
94 | + let ua = '' + window.navigator.userAgent.toLowerCase() | ||
95 | + // 通过正则表达式匹配ua中是否含有MicroMessenger字符串且是IOS系统 | ||
96 | + let isIos = /\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(ua) // 是IOS系统 | ||
97 | + return isIos | ||
98 | + } | ||
99 | + | ||
100 | + (function() { | ||
101 | + let myFunction | ||
102 | + let isWXAndIos = isWeiXinAndIos() | ||
103 | + if (isWXAndIos) { // 既是微信浏览器 又是ios============(因为查到只有在微信环境下,ios手机上才会出现input失去焦点的时候页面被顶起) | ||
104 | + document.body.addEventListener('focusin', () => { // 软键盘弹起事件 | ||
105 | + clearTimeout(myFunction); | ||
106 | + }); | ||
107 | + document.body.addEventListener('focusout', () => { // 软键盘关闭事件 | ||
108 | + clearTimeout(myFunction) | ||
109 | + myFunction = setTimeout(function() { | ||
110 | + window.scrollTo({top: 0, left: 0, behavior: 'smooth'})// 重点 =======当键盘收起的时候让页面回到原始位置 | ||
111 | + }, 200); | ||
112 | + }); | ||
113 | + } | ||
114 | + })(); | ||
115 | + | ||
91 | </script> | 116 | </script> |
92 | </body> | 117 | </body> |
93 | </html> | 118 | </html> |
@@ -110,7 +110,32 @@ | @@ -110,7 +110,32 @@ | ||
110 | s.parentNode.insertBefore(hm, s); | 110 | s.parentNode.insertBefore(hm, s); |
111 | })(); | 111 | })(); |
112 | }()); | 112 | }()); |
113 | + | ||
114 | + function isWeiXinAndIos() { | ||
115 | + // window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型 | ||
116 | + let ua = '' + window.navigator.userAgent.toLowerCase() | ||
117 | + // 通过正则表达式匹配ua中是否含有MicroMessenger字符串且是IOS系统 | ||
118 | + let isIos = /\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(ua) // 是IOS系统 | ||
119 | + return isIos | ||
120 | + } | ||
121 | + | ||
122 | + (function() { | ||
123 | + let myFunction | ||
124 | + let isWXAndIos = isWeiXinAndIos() | ||
125 | + if (isWXAndIos) { // 既是微信浏览器 又是ios============(因为查到只有在微信环境下,ios手机上才会出现input失去焦点的时候页面被顶起) | ||
126 | + document.body.addEventListener('focusin', () => { // 软键盘弹起事件 | ||
127 | + clearTimeout(myFunction); | ||
128 | + }); | ||
129 | + document.body.addEventListener('focusout', () => { // 软键盘关闭事件 | ||
130 | + clearTimeout(myFunction) | ||
131 | + myFunction = setTimeout(function() { | ||
132 | + window.scrollTo({top: 0, left: 0, behavior: 'smooth'})// 重点 =======当键盘收起的时候让页面回到原始位置 | ||
133 | + }, 200); | ||
134 | + }); | ||
135 | + } | ||
136 | + })(); | ||
113 | }, 500); | 137 | }, 500); |
138 | + | ||
114 | </script> | 139 | </script> |
115 | </body> | 140 | </body> |
116 | </html> | 141 | </html> |
-
Please register or login to post a comment