2014-01-30 55 views

回答

6

我遇到了類似的問題,其中鍵盤會出現,但沒有輸入在文本框中顯示。礦用CSS引起的 -

* { 
    -webkit-user-select: none; /* prevent copy paste */ 
} 

我通過重寫爲文本框的樣式固定的問題 -

input[type="text"] { 
    -webkit-user-select: text; 
} 
+0

這不會幫助我。你知道如何在軟鍵盤出現時停止調整視圖大小嗎? – abduIntegral

+0

我發現有幾個人提到在他們的視口meta標籤中添加「maximum-scale = 1」來解決這個問題。這對我來說不起作用,因爲我的應用程序只能移動,並且iOS7在安裝在iPad上時會以極大的縮放比例結束。 – mld

+0

我最近發現這個問題是iOS 10和11.這似乎已經修復了它。 – Rozgony

1

有科爾多瓦的應用程序內部的配置文件config.xml其中默認科爾多瓦不允許您可以控制的重點從JavaScript調用,這意味着鍵盤可以「消失」

更改此:

<preference name="KeyboardDisplayRequiresUserAction" value="true" /> 

<preference name="KeyboardDisplayRequiresUserAction" value="false" /> 

,然後就寫在那裏它的setTimeout內挖掘時,將重點放在自身領域的事件處理程序。最近這對我來說真的很好。

0

我遇到了這個問題,發現我已經使用它修復了另一個Phonegap項目。它與@mld答案基本相同,但使用html。在iOS上使用*不適用於我的應用程序。

html { 
    -webkit-user-select: none; /* prevent text selection */ 
} 

input[type="text"] { 
    -webkit-user-select: text; 
} 
0

我在Ionic V1/Angular 1.5項目中遇到了這個問題。此修復對我有用:

window.addEventListener('native.keyboardshow', function() { 
    if (document.activeElement != document.getElementById('my-input') && document.activeElement.nodeName != 'INPUT'){ 
    document.getElementById('my-input').focus() 
    } 
}); 

當我們點擊輸入時,鍵盤出現。然後,我們可以檢查我們的輸入元素是否實際聚焦。如果不是,我們手動將其聚焦。如果是另一個輸入,我們不會關注它。

我打電話給我的這個組件的$的OnInit函數內部 - 確保當你的組件與$的onDestroy銷燬刪除事件偵聽器。這也假定你正在使用ionic-plugin-keyboard插件。

這種運作良好,有一個輸入,但如果你有在同一頁上的多個輸入,你可能需要額外的邏輯,以防止您的應用專注於錯誤的輸入鍵盤打開時。

相關問題