【问题标题】:how to hide keyboard in jquery mobile programmatically on focus()如何在焦点()上以编程方式隐藏jquery mobile中的键盘
【发布时间】:2014-01-02 00:11:55
【问题描述】:

我想在 Focus() 上隐藏键盘,但是当$(".ui-input-text").focus(); 时它会自动打开键盘。

我只想隐藏特定的屏幕,我已经用document.activeElement.blur(); 进行了测试 但它也没有 focus() 输入。

【问题讨论】:

  • 这似乎有悖常理。您想关注用户输入字段,但禁用输入法?为什么?
  • 我的屏幕上有自定义键盘

标签: android jquery jquery-mobile jquery-plugins cordova


【解决方案1】:

提交表单时,iOS 键盘有时可能不会自动关闭。这是一个相当大的可用性问题,因为用户不应该被要求手动关闭键盘以用于他们不希望这样做的用例。

可以通过调用 document.activeElement 上的 blur 方法来实现一个简单的解决方案,它可以有效地以编程方式隐藏键盘:

// automatically close the keyboard on iOS
document.activeElement.blur();

更多关于 HTML5 和移动应用程序事件..

http://www.ericfeminella.com/blog/2012/12/27/ios-html5-input-element-tips/

【讨论】:

    【解决方案2】:

    试试这个:

    $('#yourElement').blur();
    

    它会隐藏虚拟键盘。

    【讨论】:

    • 我用过这个,但是当我使用它时也没有将焦点()放在输入上
    【解决方案3】:

    来自here

    var hideKeyboard = function() {
        document.activeElement.blur();
        $("input").blur();
    };
    

    已编辑: 另一种选择

    $('.clr').after('
            //<input tyep="checkbox" 
            <input type="checkbox"
                   id="focusable" 
                   style="height:0;
                   margin- left:-200px;
                   clear:both;" />');
    $('#focusable').focus(); `
    

    【讨论】:

    • 但问题是当我添加此代码时,它也会失去输入的焦点
    • @Gamex 您可以再次分配焦点,如另一个选项所示。
    猜你喜欢
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多