我为 iOS 7+ 启动了一个新的 Onsen-UI / Phonegap 项目,当键盘出现与输入表单交互时,似乎无法修复 HEADER BAR。当键盘出现时,它会将固定的标题栏推出屏幕。
在我关闭键盘后,它将再次显示标题。但这让我的用户感到困惑,因为“提交”按钮位于标题栏中。因此,除非用户关闭键盘,否则他们会“迷失/困惑”。
有什么建议么?
-戴夫
当键盘出现时,输入表单元素被聚焦并居中。因此,如果输入的表单元素位于布局中的较低区域,当键盘出现时,表单元素会居中,并且标题栏将向上移动并消失。
我认为你的布局应该改变。输入表单元素应位于上部区域。然后标题栏不会消失。
另一种解决方案是动态布局更改。在键盘出现之前,您可以通过 javascript 动态改进布局,在键盘关闭后,您可以恢复布局。
例如,html是
<div class="upper_area">
...
</div>
<input type="text" class="input_name">.
一个 upper_area 是你布局中的东西。这意味着输入表单元素位于较低的区域。js是
$('#input_name').on('focusin' , function(e) {
$('#upper_area').hide();
});
$('#input_name').on('focusout', function(e) {
$('#upper_area').show();
});
这个js在键盘出现之前动态改变布局。输入表单元素在键盘出现之前位于上部区域。因此标题栏不会消失。
在上面的代码中,为了简单起见,我使用了 jQuery(版本 >= 2.0.0)。