2015-07-21 159 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嗅探,使其正常工作

由于这些问题,这是不是真的东西,我们将添加到库中,我不认为。然而,这可能会解决您的问题