手机浏览器呼出软键盘遮挡住输入框问题。

 在手机浏览器中如果我们给body设置了高度,然后我们通过input输入框呼出软键盘,如果输入框在页面下方,内容会被软键盘遮挡住,我们只有滑动滚动条才能看到输入框,这样会很麻烦,也不利于用户体验。

我们可以通过scrollIntoViewIfNeeded()方法来解决问题。

Element.scrollIntoView()方法让当前的元素滚动到浏览器窗口的可视区域内。
Element.scrollIntoViewIfNeeded()方法也是用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动。此方法是标准的Element.scrollIntoView()方法的专有变体。
因而再有什么回到顶部、去到置顶位置和键盘弹出挡住输入框之类的需求,都可以简单解决了。

<body>
	<div class="box">
		<ul></ul>
	</div>
</body>
   <script>
   	$(function(){
   		for(var i=0;i<30;i++){
   			$(".box ul").append('<li><input type="text" /></li>')
   		}
   		
   		 $(".box li input[type='text']").on("focus",function(){
	   	  	 var target = this;
			  setTimeout(function(){
		        target.scrollIntoViewIfNeeded();
		      },300);
	   	  })
   	})  	 
   </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值