我注意到,默认情况下,当聚焦于可能被屏幕键盘遮挡的输入元素(或类似元素)时,整个页面将向上滚动(甚至是固定元素,如标题)。使用此代码段可以(尽管很难看)滚动回来:
$('textarea, input').bind('focusin focus',function(e) {
e.preventDefault();
$('html, body').animate({scrollTop:0,scrollLeft:0}, 'slow');
});
然而,如果用户然后手动滚动,他会滚动整个文档,包括固定元素(标题)。
一个脏修复方法是将一些空行添加到包含该表单的某个主div(如果需要,应该滚动)。然后即使键盘输出,用户现在也只能手动滚动主div,而不是整个文档。
有更好的解决方案吗?
喜欢指定"如果需要可以滚动" DIV?
答案 0 :(得分:0)
修改强>
这不是因为视口改变了,我在那里受到了冤屈。
浏览器会自动滚动页面,以便键盘不会在当前聚焦的输入字段上重叠。