滚动后无法聚焦输入?

时间:2016-05-11 03:52:02

标签: javascript jquery

在移动浏览器中,当焦点输入文本时,我希望此输入滚动到顶部

$(this.$el).find('input, textarea').on('focus', function(e) {
  setTimeout((function() {
    var pos = $(this).position();
    if (pos.top > window.innerHeight) {
      var scrollTopOffset = pos.top - window.innerHeight + this.offsetHeight + 10
      $scroller.scrollTop($scroller.scrollTop() + scrollTopOffset)
    }
  }).bind(this), 500); // After the keyboard up
  $(this).focus()
})

输入滚动到正确位置后,无法对焦输入

触摸输入然后焦点正常, 之后键盘向上然后输入滚动到顶部, 然后失去焦点

滚动后如何聚焦输入?

2 个答案:

答案 0 :(得分:1)

我试过这个,通过模拟移动浏览器,它可以工作。

$('input, textarea').on('focus', function() {
    document.body.scrollTop = $(this).offset().top;
    $(this).focus();
});

答案 1 :(得分:0)

希望这会对你有所帮助..谢谢

}