聚焦时输入隐藏在键盘下(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 输入字段

隐藏iPhone键盘上方的工具栏,PhoneGap

使用键盘输入序列显示隐藏/不可见的表格输入

如何在editText聚焦时隐藏键盘

有隐藏项目时关注下一个 QListWidget 项目