javascript - 为什么键盘关闭时它会滚动到错误的位置?我该如何解决?

标签 javascript jquery mobile

有了这两行代码,我想先关闭虚拟键盘(手机),然后它应该滚动到网站上的特定部分。

// closes keyboard
$('#input').blur();

// scroll to specific part
$("html, body").animate({ scrollTop: $('#section').offset().top }, 1000);

但是有两件事我不想:

  1. 当键盘消失时,页面不应该跳转。
  2. 它没有跳转到目标部分,因为 "$('#section').offset().top" 不是正确的距离,因为页面正在向上跳..

最佳答案

我会使用超时,您需要在键盘关闭后触发您的代码。 您需要试验时间,检查您可以使用的最小超时时间是多少。

我认为您没有可以在键盘关闭时使用 javascript 捕获的事件。

// closes keyboard
$('#input').blur();

// scroll to specific part
setTimeout(function(){
    $("html, body").animate({ scrollTop: $('#section').offset().top }, 1000);
}, 1000); // 1000 ms = 1 second, for example.

关于javascript - 为什么键盘关闭时它会滚动到错误的位置?我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45842474/

相关文章:

javascript - 切换图形的 div 可见性

php - 移动应用程序如何使用 API 并证明其要修改的 Facebook ID 已在 Facebook 上登录并获得授权?

javascript - 如何自定义 Google Visualization Geochart 工具提示

javascript - 将标题添加到 Bootstrap 响应式模态图像库

jquery - cropbox 图像覆盖覆盖拖动

jquery - 在 iPhone 上的 Web 应用程序中维护 PHP session

mobile - Flutter 中的上滑 View

iphone - Web 应用程序 GPS 轮询

javascript - 如何使导航对背景颜色使用react

javascript - Outlook WebAddin 在注册 Office.EventType.ItemChanged 时抛出内部服务器错误