簡體   English   中英

Phonegap iOS-防止滾動輸入焦點

[英]Phonegap iOS - prevent scrolling on input focus

我正在使用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);
});

任何幫助,不勝感激。

嘗試將此JavaScript添加到input中您不想轉移時的onfocus屬性中:

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

嘗試向您的身體添加以下css樣式:

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

它防止用戶選擇鏈接和其他內容。 也許對您來說很幸福。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM