我创建了一个在浏览器中运行并提供聊天支持的应用程序。这适用于桌面和移动设备,并显示为固定页脚。
在桌面设备上,一切正常,看起来很棒,但是当它出现在移动设备上时,我看到了一个奇怪的问题。
当我不在页面顶部并打开键盘时,一切正常:
但如果我靠近页面顶部,则工具栏会断开并显示在页面的上半部分:
我找到了以下链接,其他人提到它但我无法隐藏页脚,因为我需要它显示: http://forum.jquery.com/topic/how-to-set-footer-fixed-at-bottom-even-if-virtual-keyboard-is-open
关于如何解决这个问题的任何建议都会很棒,我读到iOS增加了对固定位置的支持,但在这种情况下似乎被打破了(从网页顶部打开虚拟键盘)。
这是我的代码:
#gc_toolbar_layout {
...
position: fixed;
word-break: keep-all;
word-break: break-word;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
谢谢。
答案 0 :(得分:0)
难以置信的修复:
$(document).on('focus', 'textarea', function() {
$("#gc_chat_layout").css({position: 'relative', float: 'right', bottom: 'auto'});
$(document).scrollTop($(document).scrollTop());
});
$(document).on('blur', 'textarea', function() {
$("#gc_chat_layout").css({position: 'fixed', float: 'none', bottom: '0'});
});
当我们不在页面顶部时,我们才看到上述问题。这基本上会让你立即进入页面顶部。
我们添加了一些javascript代码来处理这个问题,方法是将旧位置保存在变量中,并在完成后将其移回原地。