修复了当焦点转到移动设备中的输入元素时元素滚动的问题



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

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

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

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

有没有更好的解决方案?

就像指定"如果需要时应该滚动"div?

编辑:

这不是因为视口变了,我在那里错了。

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

相关内容

  • 没有找到相关文章

最新更新