android键盘:在输入表单上,点击页面向下滚动,在外部点击时向上滚动

时间:2019-07-05 10:08:42

标签: javascript jquery css

我已经建立了一个阻止滚动的网站,唯一的导航方法是通过转到#id部分的按钮。在台式机上,一切正常,但在移动设备上,我有2个错误,我整夜都没有找到答案。

  1. 在android上,输入单击会向下滚动,然后向上滚动,我需要 知道如何保持此输入固定在那里,以便页面不会移动。
  2. 由于某些原因,即使在iphone上滚动仍能正常工作 其他任何设备都没有,并且播放按钮已禁用,不知道为什么

8小时的研究尝试了各种可能的方法来防止输入默认值,并尝试onfocusout="scrolldown100vh",以便使我回到表格中,但是..没有任何效果。

document.addEventListener('scroll', function(e) {
  var currScroll = document.body.scrollTop;
  document.body.scrollTop = calc(~"currScroll + 100vh");
});
// this code also gives me this error in console:Uncaught ReferenceError: calc is not defined
at HTMLDocument.<anonymous>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, height=device-height">

<input type="text" id="tetext" style="background-color: black;">

每个#id的宽度均设置为100%,高度为100vh。

  • 在输入文本上单击>,我认为向下滚动约100vh。
  • 在输入点击之外>从点击中向上滚动的方式看起来像是150vh,其中

这是由于Android键盘导致的。

基本上我希望当我单击输入时,键盘应该明显出现,但不应向上或向下移动我的网页。

修改:进行了更多测试,因此: 在#section 3上,我有1行输入。 在#section 4上,我有一个包含3个输入项的联系表。

  1. section3输入位于页面的中间(前50%)。 当我单击它并出现键盘时,它精确地降到了第4部分的100vh。当我卸下键盘时,它又回到了150vh!
  2. 如果我进入第4部分的联系表并单击输入,位于最底部,则保留该位置,但是当我删除按钮时,它在同一位置完全上升了。第3部分输入在删除键盘后发送给我
    1. 但是,当我打开输入并向下滚动时,在我开始在键盘上键入内容之后,它会开始向上滚动直到到达输入,但是在键盘消失后又会滚动至前100vh

edit2 !重要提示: 我在不同的移动设备上进行了其他几项测试,结果却大不相同,例如,在中兴刀片普通浏览器中,一切正常运行,在华为chrome上,即出现滚动问题。.mozilla firefox是一场灾难:)

0 个答案:

没有答案