使用Chrome浏览器行为在Android上使用移动html5应用程序很好但是一旦添加到主屏幕并在全屏模式下使用,我遇到以下问题:
当按下位于页脚中的文本输入时,页面不会向上移动 - 键盘会覆盖它,因此您无法看到正在键入的内容。
我需要它才能正常推送页面,就像在浏览器模式下查看页面一样
这就是我在标题中的:
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
和底部页脚:
<div class="footer pos-fixed">
<div class="container">
<div class="container">
<form class="form-inline" role="form" id="ajax-message" method="post" action="blabla">
<input name="conversation_id" value="1" type="hidden">
<input name="receipient_id" value="14" type="hidden">
<div class="marg-10">
<textarea style="" class="text-input-box" name="message" rows="1"></textarea>
<button class="btn btn-primary btn-sm pull-right" type="submit"><i class="fa fa-check"></i> Send</button>
</div>
<input name="_token" value="xx" type="hidden">
</form>
</div>
</div>
ps:我也在使用最新的bootsrap&amp; jquery的
答案 0 :(得分:1)
旧帖子,但是对于任何需要解决方案的人来说 - 这是我的个人方法......
<form>
<input type="email" id="inputEmail">
<input type="password" id="inputPassword">
</form>
var deviceIsAndroid = /(android)/i.test(navigator.userAgent);
$(document).ready(function () {
if (deviceIsAndroid) {
$(document).bind("click", function () {
if (document.activeElement.nodeName == 'TEXTAREA' || document.activeElement.nodeName == 'INPUT') {
var textBox = document.activeElement.id;
document.getElementById(textBox).scrollIntoView();
}
});
}
});
第一部分使 Android 特定(如果应用程序/网站可以在其他设备上访问)。
任何点击都会触发该功能,但除非它出现在textArea
或input
字段中,否则不会发生任何事情。
如果您只使用单个字段类型,则可以进一步简化...
$("input").bind("click", function () {
var textBox = document.activeElement.id;
document.getElementById(textBox).scrollIntoView();
});