2015-07-21 208 views
3

我有一個使用jQuery Mobile的應用程序。Android鍵盤隱藏文本輸入

在Chrome上(在Android上)進行測試時,打開鍵盤時,位於頁面底部的一些輸入會自動移動到頂部。這是我期望的行爲。

當我將此網站添加到我的android的主屏幕時,此行爲不起作用,並且所有文本輸入都被鍵盤隱藏。

我也說過,當我在Chrome上再次打開相同的應用程序,並重試基於Webview的應用程序後,現在一切正常。輸入不再隱藏。

你已經看到這種錯誤嗎?

由於通過提前

+0

是的,Chrome瀏覽器的Chrome瀏覽器有內置的東西來做到這一點。你能解釋一下你的意思嗎(當我將這個網站添加到我的android主屏幕)? (主屏幕)是什麼意思? – Tasos

+0

嗨,我的意思是這個功能:http://www.google.fr/imgres?imgurl=http://3.bp.blogspot.com/-WVDN3YkA-mM/Uk3-Cr9BxCI/AAAAAAABMzY/VHP4q1LvGZs/s640/chrome -add到家庭screen.png&imgrefurl = HTTP://googlesystem.blogspot.com/2013/10/add-shortcuts-to-web-apps-in-chrome-for.html&h=533&w=320&tbnid=9EBxZbIbExUlKM:TBNH = 90&tbnw = 54&usg = __ Uo48-XW-Hr6b3ZyrZumCjlOljnc =&docid = IzUfIFy96IKJKM – Gillespie59

+0

整個搜索框出現在您向下滾動到底部或總是在底部?無論如何看看我在答案中創建的演示,也許這對你來說就足夠了。否則,是一些解決方法 – Tasos

回答

2

我創建了一個演示給你,作爲替代

我不得不追加一個空白框,以創建在底部的一些空間,然後你當移動輸入到頭注重輸入,因爲它的底部沒有滾動空間。

演示

https://jsfiddle.net/fyom081o/

代碼

$(document).on("focus", "#text-basic", function(event){ 
    var boxheight = $(window).height() - 40; 
    $("#mycontntent").append("<div id='blank' style='height:"+boxheight+"px;'"+"></div>"); 
$('html, body').animate({scrollTop: $('#text-basic').offset().top - 100}, 500); 
}); 

$(document).on("focusout", "#text-basic", function(event){ 
$('#blank').remove(); 
}); 
+0

我會嘗試你的demo.Thanks。但事情很奇怪,就是在瀏覽器上訪問相應的網站後,在webapp模式下一切正常。所以也許你的解決方案我們大多數時候會工作,但有時候我們會添加你的空白元素,除了webview/keyboard組件的默認默認滾動行爲。 – Gillespie59

0

請看到我的時候提出這個相同的問題的答案......

Jquery Mobile 1.4.5 virtual keyboard in the device hides the form inputs at the bottom of the page

我用JQM打開了一個問題,這是我得到的迴應。事實證明,這是一個Chrome全屏瀏覽器的bug,與JQM無關......

我能想到試圖解決這個問題的唯一方法就是像http://jsbin.com/kagidi/9/edit?html,css,output修復鉻主屏幕上的問題,但這不是真的一個完整的解決方案它有幾個問題不能真正解決。

沒有辦法知道鍵盤的大小,以及在特定設備上添加多少高度以增加身體,當您記住自定義鍵盤時更是如此。

它需要很多的userAgent嗅探,使其正常工作

由於這些問題,這是不是真的東西,我們將添加到庫中,我不認爲。然而,這可能會解決您的問題