我写了一个相当基本的js函数编程和自动完美对齐iPhone键盘的每个输入字段是被关注下方(感到自由,如果你喜欢它使用它!)。对准宏主要由window.scroll处理 - 在任何浏览器视图,该工作除了在UIWebView中因此的PhoneGap /科尔多瓦(2.1)的标准方法。 所以我需要一个解决方法。window.scrollTo无法在phonegap中工作 - 替代解决方案或解决方法?
我的工作代码:
function setKeyboardPos(tarId) {
//programmatically: set scroll pos so keyboard aligns perfectly underneath textfield
var elVerticalDistance = $("#"+tarId).offset()["top"]; //i.e. 287
var keyboardHeight = 158;
var heightOfView = document.height; // i.e. 444
var inputHeight = $("#"+tarId).outerHeight();
var viewPortSpace = heightOfView-keyboardHeight; //i.e. 180
var verticalNewSroll = (elVerticalDistance+inputHeight)-viewPortSpace;
if(verticalNewSroll<0) { verticalNewSroll = 0; }
////
//OK, all done lets go ahead with some actions
$("#footer").hide(); //hide footer so that the keyboard doesn't push it on top of textfield
$("#containingDiv").css("bottom","0px"); //remove bottom space for footer
window.scrollTo(0,verticalNewSroll); //scroll! where the problem starts
}
的一切,但UIWebView的工作,那是。正如我上面提到的,除了window.scrollTo(N.B.为了清晰起见,已经做了一些小的修改)之外的所有东西都可以工作。那么是否有人知道替代解决方案或甚至是一个很好的解决方法?
类似问题
window.scrollTo doesn't work in phonegap for IOS
PhoneGap/Cordova scrollTo Ignored
How to add vertical scroll in Phonegap
以上是还多少有些指向一个方向是正确的三个类似的问题。回答者之一提到使用css来完成这个。任何人都可以拿出更具体的例子吗? 另一个人建议锚点但这不是一个非常漂亮的解决方案,并且与我的其他代码不一致。
谢谢,但我只是意识到window.scrollTo()实际上确实在这里工作(在iOS 6中!),所以这实际上是不是罪魁祸首。 – Jonathan