2013-01-14 53 views
5

我正在使用Phonegap创建iPad应用程序。该应用具有固定的横向方向和沿顶部运行的菜单,右上方有一个文本框。该应用程序是固定的(全屏)大小,不需要滚动。Phonegap iOS - 防止滚动输入焦点

当用户触摸iOS 6上右上角的文本框时,整个应用程序向左滑动,以便将文本框放在屏幕中央,将整个应用程序向左推并留下空白区域对。

如何防止此行为?

我现在有UIWebViewBounce设置为NO,并在适当位置下面的代码赶上touchstart事件:

document.body.addEventListener('touchmove', function(e) { 
    e.preventDefault(); 
}, false); 

我也有这个文本框本身,这似乎在iOS 5的工作(尽管有口吃)但不是在iOS 6上:

$('#searchText').on("focus", function(event) { 
    window.scrollTo(0, 0); 
}); 

任何帮助极大的赞赏。

回答

-1

尝试以下CSS样式添加到您的身体elemnt:

-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none; 
-webkit-tap-highlight-color: rgba(0,0,0,0); 

它可以防止链接和其他的东西用户选择。也许它会成为你的希望。

+0

这并没有为我工作恐怕kreig - 对不起,但由于全部都一样。 – colin

2

尝试在inputonfocus属性,你不想转移时被聚焦添加此javascript:

<input onfocus="this.style.webkitTransform = 'translate3d(0px,-10000px,0)'; webkitRequestAnimationFrame(function() { this.style.webkitTransform = ''; }.bind(this))"/> 
+1

非常感谢。我已经有iOS HTML应用程序开发的这个问题,大约2年多了!我已经尝试了从JQUERY到iScroll到其他JavaScript库crapolies的所有内容。非常感谢你,回答我长期追求的答案。一旦我能够接受,我会接受。 –

+0

你好欢迎XD LOL – 131

+0

将Cordova&Phongap更新至最新版本后,看起来您的修复程序不再有效...... lmao –