我正在使用html5/javascript/jQuery/css开发移动应用。 在应用中有多个文本区域。当我单击以输入时,键盘弹出(Android平板电脑)。但是文本区域仍停留在页面上。当键盘弹出时,如何滚动页面。
我正在使用html5/javascript/jQuery/css开发移动应用。 在应用中有多个文本区域。当我单击以输入时,键盘弹出(Android平板电脑)。但是文本区域仍停留在页面上。当键盘弹出时,如何滚动页面。
offset().top
值,然后使用scrollTop()
设置文档滚动位置。var $htmlOrBody = $('html, body'), // scrollTop works on <body> for some browsers, <html> for others
scrollTopPadding = 8;
$('textarea').focus(function() {
// get textarea's offset top position
var textareaTop = $(this).offset().top;
// scroll to the textarea
$htmlOrBody.scrollTop(textareaTop - scrollTopPadding);
});
$htmlOrBody.scrollTop(textareaTop - scrollTopPadding);
by
var timing = 250;
$htmlOrBody.animate({ scrollTop: textareaTop - scrollTopPadding }, timing);
或者简单地使用Element.scrollIntoView()方法:
let inputs = $('input[type=text], textarea');
inputs.focus(function() {
$(this)[0].scrollIntoView();
});
$(window).resize(function() {
var $htmlOrBody = $('html, body'), // scrollTop works on <body> for some browsers, <html> for others
scrollTopPadding = 8;
// get input tag's offset top position
var textareaTop = $(this).offset().top;
// scroll to the textarea
$htmlOrBody.scrollTop(textareaTop - scrollTopPadding);
// OR To add animation for smooth scrolling, use this.
//$htmlOrBody.animate({ scrollTop: textareaTop - scrollTopPadding }, 200);
});