有了这两行代码,我想先关闭虚拟键盘(手机),然后它应该滚动到网站上的特定部分。
// closes keyboard
$('#input').blur();
// scroll to specific part
$("html, body").animate({ scrollTop: $('#section').offset().top }, 1000);
但是有两件事我不想:
- 当键盘消失时,页面不应该跳转。
- 它没有跳转到目标部分,因为
"$('#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/