6

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

当用户在 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);
});

非常感谢任何帮助。

4

2 回答 2

3

尝试将此javascript添加到您不想在聚焦时转移的onfocus属性中:input

<input onfocus="this.style.webkitTransform = 'translate3d(0px,-10000px,0)'; webkitRequestAnimationFrame(function() { this.style.webkitTransform = ''; }.bind(this))"/>
于 2015-01-01T10:07:40.660 回答
-1

尝试将以下 CSS 样式添加到您的 body 元素中:

-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);

它可以防止用户选择链接和其他内容。也许它会对你有帮助。

于 2013-01-14T22:38:04.187 回答