每次用户关注我的Phonegap应用程序中的输入字段时,我都会使用以下代码将窗口滚动到位置(0, 0)
:
<input type="text" id="answer" class="answer" />
...
$(document).on("touchstart", ".answer", function() {
window.scrollTo(0, 0);
});
我也尝试了setTimeout()
,但这也不起作用:
$(document).on("touchstart", ".answer", function() {
window.scrollTo(0, 0);
setTimeout(function() {
scrollWindow();
}, 10);
var scrollWindow = function() {
window.scrollTo(0, 0);
}
});
问题是窗口仅在我第二次点击输入字段时滚动。当我第一次点击输入字段时,我希望窗口立即滚动。
我移动窗口的原因是因为iOS会在输入字段的焦点上生成本机键盘并将整个视图向上移动。
答案 0 :(得分:1)
要做到这一点,我通常使用“焦点”而不是“touchstart”。
$('#someFormId input').on("focus", function(event) {
window.scrollTo(0, 0);
document.body.scrollTop = 0;
});