0

编辑文本字段时,本机键盘会弹出 webview 并将其保留。就像你离开马桶座时一样。原生键盘缩回后如何恢复到原始滚动位置?我有一个可以被抓住的事件。我正在考虑一个丑陋的黑客,每次编辑后重新加载整个 webview。这似乎是唯一的出路。

4

1 回答 1

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 位置

于 2012-11-03T21:04:12.657 回答