编辑文本字段时,本机键盘会弹出webview并将其保留。就像你离开马桶座圈一样。 原生键盘缩回后如何恢复到原始滚动位置? 我有一个可以抓住的事件。我正在考虑一个丑陋的黑客,在每次编辑后重新加载整个webview。这似乎是唯一的出路。
答案 0 :(得分:2)
假设存在一些支持CSS选择器的库:
var positionResetHandler = function () {
var self = {},
lastY = null;
self.inputFieldFocusHandler = function () {
lastY = window.scrollY;
};
self.inputFieldBlurHandler = function () {
if (lastY) {
window.scrollTo(0, lastY);
lastY = null;
}
};
return self;
};
var handler = positionResetHandler();
$("input").bind("focus", handler.inputFieldFocusHandler);
$("input").bind("blur", handler.inputFieldBlurHandler);
在任何输入字段的焦点上,然后记录页面的y位置。在任何输入字段的模糊处,然后将页面滚动回到上一个已知的y位置