【问题标题】:Input is hidden under keyboard when focused (Phonegap android)聚焦时输入隐藏在键盘下(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 中不起作用。

标签: jquery cordova jquery-mobile


【解决方案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;
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2017-02-16
    • 2014-04-07
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    相关资源
    最近更新 更多