聚焦时输入隐藏在键盘下(Phonegap android)
Posted
技术标签:
【中文标题】聚焦时输入隐藏在键盘下(Phonegap android)【英文标题】:Input is hidden under keyboard when focused (Phonegap android) 【发布时间】:2017-02-12 19:49:22 【问题描述】:我在我的 config.xml 中使用以下代码
<preference name="fullscreen" value="false" />
但结果是不可接受的,因为当我专注于输入(输入位于表单底部)时,输入字段被键盘隐藏
但只要我输入一个字符,表单就会自动滚动到顶部,并且该字段会正确显示。 在按键上效果很好,但我需要在焦点上这样做
我试图在输入任何内容之前保持输入的显示状态。我试图模拟按键像
$(".form-control").click(function (evt)
var e = $.Event('keyup');
e.which = 65;
$(this).trigger(e);//it doesn't work
$(this).val("");
);
但目前还没有什么对我有用。
【问题讨论】:
你尝试过 jquery 焦点事件吗? api.jquery.com/focus 是的,我尝试过专注,但在 android 中不起作用。 【参考方案1】:您应该使用以下方法获取输入元素的位置:
$(this).offset().top;
然后在焦点事件监听器上滚动到输入位置:
$('#input_id').on('focus', function()
document.body.scrollTop = $(this).offset().top;
);
您可能希望触发所有表单输入的焦点:
$('#form_id').delegate(':input', 'focus', function()
document.body.scrollTop = $(this).offset().top;
)
【讨论】:
以上是关于聚焦时输入隐藏在键盘下(Phonegap android)的主要内容,如果未能解决你的问题,请参考以下文章
[Cordova/Phonegap] Cordova iOS 应用在第三方输入法的键盘弹出(点击输入框)时,页面不上移,导致输入框被键盘遮挡 的解决办法
键盘使用 iFrame/object 和 JQTouch 隐藏 PhoneGap Build 3.1 中的 iOS 输入字段