安卓 手机页面 输入表单被键盘遮挡住了

 坑爹的安卓,在弹出键盘的时候,键盘会挡住表单的元素,表单不容易输入,在ios 就会自动适应的,安卓这个坑爹玩意!,

   一下是我实现安卓键盘遮挡的方法,可以试一试


       

  1.  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> 
  2. <input type="text" id="txt" /> 
  3. <div id="dv"></div> 
  4. <script> 
  5.    var timer, windowInnerHeight; 
  6.     function eventCheck(e) { 
  7.         if (e) { //blur,focus事件触发的 
  8.             $('#dv').html('android键盘' + (e.type == 'focus' ? '弹出' : '隐藏') + '--通过' + e.type + '事件'); 
  9.             if (e.type == 'click') {//如果是点击事件启动计时器监控是否点击了键盘上的隐藏键盘按钮,没有点击这个按钮的事件可用,keydown中也获取不到keyCode值 
  10.                 setTimeout(function () {//由于键盘弹出是有动画效果的,要获取完全弹出的窗口高度,使用了计时器 
  11.                     windowInnerHeight = window.innerHeight;//获取弹出android软键盘后的窗口高度 
  12.                     timer = setInterval(function () { eventCheck() }, 100); 
  13.                 }, 500); 
  14.             } 
  15.             else clearInterval(timer); 
  16.         } 
  17.         else { //计时器执行的,需要判断窗口可视高度,如果改变说明android键盘隐藏了 
  18.             if (window.innerHeight > windowInnerHeight) { 
  19.                 clearInterval(timer); 
  20.                 $('#dv').html('android键盘隐藏--通过点击键盘隐藏按钮'); 
  21.             } 
  22.         } 
  23.     } 
  24.     $('#txt').click(eventCheck).blur(eventCheck); 
  25. </script>