Android键盘隐藏文字输入

时间:2015-07-21 09:59:46

标签: javascript android angularjs jquery-mobile webview

我有一个使用jQuery Mobile的应用程序。

在Chrome(在Android上)进行测试时,当键盘打开时,位于页面底部的部分输入会自动移至顶部。这是我期望的行为。

当我将此网站添加到我的Android的主屏幕时,此行为不起作用,所有文本输入都被键盘隐藏。

我还注意到,当我在Chrome上再次打开相同的应用程序时,在重试基于Webview的应用程序后,现在一切正常。输入不再隐藏。

您是否已经看到过这种错误?

先谢谢

2 个答案:

答案 0 :(得分:3)

我为您创建了一个演示,作为替代

我必须添加一个空白框以在底部创建一些空格,然后在您对焦输入时将输入移动到标题,因为它位于底部,因此没有滚动空间。

<强>演示

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

答案 1 :(得分:0)

请在我提出同样的问题时查看答案......

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

我用JQM打开了一个问题,这是我得到的回复。原来这是一个Chrome全屏浏览器错误,与JQM无关......

我可以考虑尝试解决这个问题的唯一方法是像http://jsbin.com/kagidi/9/edit?html,css,output那样解决Chrome主屏幕上的问题,但这并不是一个完整的解决方案,它有一些问题无法真正解决。

当你记住自定义键盘时,无法知道键盘的大小,以及在特定设备上添加到身体的高度,甚至更多。

它需要大量的userAgent嗅探才能使其正常工作

由于这些问题,这并不是我们想要添加到库中的东西。但是,这可能会解决您的问题