我想滚动页面/表单以在用户单击输入字段时聚焦,然后弹出键盘,以便在当前视图中显示该输入字段。
我正在尝试这两种解决方案,但是它们都不起作用:
$('input[type="text"]').on('focus', function() {
document.body.scrollTop += this.getBoundingClientRect().top - 10
});
和
$('input[type="text"]').blur(function() {
$(window).scrollTop(0,0);
});
我该怎么做?为什么这些都不起作用?
答案 0 :(得分:0)
.scrollTop()是一种方法,仅接受一个值。
您的第一个示例是错误的,因为您不能使用+ =来添加它。您需要向其传递.scrollTop(0)之类的垂直值。
您的第二个示例是错误的,因为您要为其提供两个值。我认为您对.scrollTo(0,0)而不是scrollTop()感到困惑。
https://api.jquery.com/scrollTop/
示例(未经测试):
$('input[type="text"]').on('focus', function() {
$(window).scrollTop(this.getBoundingClientRect().top - 10);
});