当键盘弹出时,将焦点放在手机上的输入元素上

时间:2018-07-02 19:13:54

标签: javascript jquery html mobile

我想滚动页面/表单以在用户单击输入字段时聚焦,然后弹出键盘,以便在当前视图中显示该输入字段。

我正在尝试这两种解决方案,但是它们都不起作用:

$('input[type="text"]').on('focus', function() {
    document.body.scrollTop += this.getBoundingClientRect().top - 10
});

$('input[type="text"]').blur(function() {
    $(window).scrollTop(0,0);
});

我该怎么做?为什么这些都不起作用?

1 个答案:

答案 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);
});