经过测试,发现有的IOS浏览器上输入法会弹出遮挡输入框,网上很多都是介绍用以下方法
1
2
3
4
5
6
7
8
|
(function() { $(‘input ').on(‘click' , function () { var target = this ; // 使用定时器是为了让输入框上滑时更加自然 setTimeout(function(){ target.scrollIntoView( true ); }, 100 ); }); |
但是由于本人对scrollIntoView的理解不够一直没有解决问题,后来用相同的思路使用scrollTop()解决了。
实例如下
1
2
3
4
5
6
7
8
9
10
11
12
|
<script language= "javascript" >` $( '#messageInput' ).on( 'click' , function() { // 使用定时器是因为输入法的弹出会改变body的高度,所以延时1秒等输入法弹出后再定位到滚动条底部 setTimeout(function() { $( 'body' ).scrollTop($( 'body' )[ 0 ].scrollHeight); }, 1000 ); }); </script> <body> <input type= "text" id= "messageInput" placeHolder= "请输入文字" /> </body> |
总结
以上所述是小编给大家介绍的使用scrollTop()解决IOS中输入法遮挡输入框问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/u012117656/article/details/78110934