Authored by 陈峰

Merge branch 'hotfix/fixinput' into 'master'

fix input



See merge request !14
@@ -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>