2013-04-22 100 views
0

我正在使用phonegap(cordova)創建一個新的iphone應用程序。我在我的應用程序中遇到了一個問題。如果我單擊任何輸入字段,則會彈出iphone鍵盤,並且整個頁面位置也正在改變。像固定頁腳彈出鍵盤上方。請引導我。iPhone上的鍵盤彈出問題的電話應用程序?

謝謝

+0

使用滾動視圖並將所有對象添加到滾動視圖中,並在單擊文本框時設置滾動視圖的內容偏移量。 – Balu 2013-04-22 05:55:53

+0

你能解釋一下細節嗎? – Arunkumar 2013-04-22 06:06:52

回答

0

這是一個很難得到'正確'的問題。您可以嘗試隱藏輸入元素焦點上的頁腳,並顯示模糊,但在iOS上這並不總是可靠的。每隔一段時間(例如,在我的iPhone 4S上,十次中的一次)焦點事件似乎無法觸發(或者可能存在競爭條件),並且頁腳不會隱藏。

大量的試驗和錯誤後,我想出了這個有趣的解決方案:

<head> 
    ...various JS and CSS imports... 
    <script type="text/javascript"> 
     document.write('<style>#footer{visibility:hidden}@media(min-height:' + ($(window).height() - 10) + 'px){#footer{visibility:visible}}</style>'); 
    </script> 
</head> 

主要爲:使用JavaScript來確定設備的窗口高度,然後動態地創建一個CSS媒體查詢隱藏頁腳時窗口的高度縮小10個像素。由於打開鍵盤會調整瀏覽器顯示的大小,因此iOS永遠不會失敗。因爲它使用CSS引擎而不是JavaScript,所以它更快更順暢!

注意:我發現使用'visibility:hidden'比'display:none'或者'position:static'更小,但是你的里程可能會有所不同。