Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过javascript的backbutton检测移动设备(android)上的软键盘何时关闭?_Javascript_Android_Browser_Soft Keyboard - Fatal编程技术网

如何通过javascript的backbutton检测移动设备(android)上的软键盘何时关闭?

如何通过javascript的backbutton检测移动设备(android)上的软键盘何时关闭?,javascript,android,browser,soft-keyboard,Javascript,Android,Browser,Soft Keyboard,在我的移动应用程序中,我必须知道软键盘何时打开和关闭。 我通过监听输入节点上的onFocus和onBlur事件来实现这一点。 一切正常,直到键盘通过“backbutton”(在三星galaxy s6上测试)关闭。按下“后退”按钮时,键盘关闭,但输入元素仍处于焦点。 有人知道如何处理这个问题吗?你不知道。甚至没有一种方法可以在本机应用程序中可靠地实现这一点。它不是API的一部分,你不能。甚至没有一种方法可以在本机应用程序中可靠地实现这一点。这不是API的一部分,还有其他方法可以做到这一点,但不是

在我的移动应用程序中,我必须知道软键盘何时打开和关闭。
我通过监听输入节点上的onFocus和onBlur事件来实现这一点。
一切正常,直到键盘通过“backbutton”(在三星galaxy s6上测试)关闭。按下“后退”按钮时,键盘关闭,但输入元素仍处于焦点。

有人知道如何处理这个问题吗?

你不知道。甚至没有一种方法可以在本机应用程序中可靠地实现这一点。它不是API的一部分,你不能。甚至没有一种方法可以在本机应用程序中可靠地实现这一点。这不是API的一部分,还有其他方法可以做到这一点,但不是从事件(本机方式)

这里有一个解决办法


还有其他方法可以做到这一点,但不是通过事件(本机方式)

这里有一个解决办法


这里有一种方法可以检查软键盘是否关闭,同时输入元素仍有焦点:

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

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

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

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

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

监听onResize事件,这不是我的选项