有没有人弄清楚如何解决这个问题?我和Cubiq的Matteo谈过,他的解决方案是使用转换而不是转换。现在,当键盘出现时,我基本上在页面下方添加了键盘大小的填充,但这有一堆新问题围绕着光标搞砸了:
$('body').on('focus', 'input, textarea', function() {
console.log('SCROLLER INPUT FOCUS');
if(!self.getCurrentScroller()) return;
self.getCurrentScroller().css('padding-bottom', 260);
self.getCurrentIscroll().refresh();
self.getCurrentIscroll().scrollToElement(this, 0);
});
$('body').on('blur', 'input, textarea', function() {
console.log('SCROLLER INPUT BLUR');
if(!self.getCurrentScroller()) return;
self.getCurrentScroller().css('padding-bottom', 0);
self.getCurrentIscroll().refresh();
self.getCurrentIscroll().scrollToElement(this, 0);
});
这个想法是键盘只会导致iScroll卡在视口上方,如果你在iscroll的底部,并且当键盘按下它时没有更多页面可以滚动。
答案 0 :(得分:0)
有时虚拟键盘会导致物理滚动发生变化。因此,当键盘隐藏时,您可以将其滚动到顶部。
$wrapper.find('input, textarea').on('blur', function (e) {
$wrapper.scrollTop(0);
});