当焦点转移到移动设备

时间:2018-01-17 14:11:01

标签: javascript html mobile

我注意到,默认情况下,当聚焦于可能被屏幕键盘遮挡的输入元素(或类似元素)时,整个页面将向上滚动(甚至是固定元素,如标题)。使用此代码段可以(尽管很难看)滚动回来:

$('textarea, input').bind('focusin focus',function(e) {
    e.preventDefault();
    $('html, body').animate({scrollTop:0,scrollLeft:0}, 'slow'); 
});

然而,如果用户然后手动滚动,他会滚动整个文档,包括固定元素(标题)。

一个脏修复方法是将一些空行添加到包含该表单的某个主div(如果需要,应该滚动)。然后即使键盘输出,用户现在也只能手动滚动主div,而不是整个文档。

有更好的解决方案吗?

喜欢指定"如果需要可以滚动" DIV?

1 个答案:

答案 0 :(得分:0)

修改

这不是因为视口改变了,我在那里受到了冤屈。

浏览器会自动滚动页面,以便键盘不会在当前聚焦的输入字段上重叠。