iOS 7 - 固定页脚工具栏在虚拟键盘上中断

时间:2014-07-03 15:28:43

标签: javascript jquery ios mobile toolbar

我创建了一个在浏览器中运行并提供聊天支持的应用程序。这适用于桌面和移动设备,并显示为固定页脚。

在桌面设备上,一切正常,看起来很棒,但是当它出现在移动设备上时,我看到了一个奇怪的问题。

当我不在页面顶部并打开键盘时,一切正常: enter image description here

但如果我靠近页面顶部,则工具栏会断开并显示在页面的上半部分: enter image description here

我找到了以下链接,其他人提到它但我无法隐藏页脚,因为我需要它显示: 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;
}

谢谢。

1 个答案:

答案 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代码来处理这个问题,方法是将旧位置保​​存在变量中,并在完成后将其移回原地。