【问题标题】:How to detect when soft keyboard is closed on mobile device (android) via backbutton by javascript?如何通过javascript通过后退按钮检测移动设备(android)上的软键盘何时关闭?
【发布时间】:2016-12-01 14:55:06
【问题描述】:

在我的移动应用程序中,我必须知道软键盘何时打开和关闭。
我设法通过在输入节点上监听 onFocus 和 onBlur 事件来做到这一点。
一切都很好,直到通过“后退按钮”关闭键盘(在三星 Galaxy s6 上测试)。按下后退按钮时,键盘关闭,但输入元素仍处于焦点状态。
有人知道如何解决这个问题吗?

【问题讨论】:

  • 监听 onResize 事件不是我的选择

标签: javascript android browser soft-keyboard


【解决方案1】:

你不能。甚至没有办法在本机应用程序中可靠地做到这一点。它只是不是 API 的一部分

【讨论】:

    【解决方案2】:

    还有其他方法可以做到这一点,但不是来自事件(原生方式)

    这里有一个解决方法

    https://stackoverflow.com/a/4737265/6637804

    【讨论】:

      【解决方案3】:

      这是一种检查软键盘是否关闭,而输入元素仍然具有焦点的方法:

        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
                  if(!imm.isAcceptingText())
                  {
                      //clear focus...
                       edittext.clearFocus();
                  }
      

      通过使用“clearFocus()”方法清除焦点。

      【讨论】:

        猜你喜欢
        • 2015-08-07
        • 2014-08-13
        • 1970-01-01
        • 2023-03-05
        • 2023-03-20
        • 2015-02-27
        • 1970-01-01
        • 2020-07-29
        • 2014-05-01
        相关资源
        最近更新 更多