有没有办法使用 trigger.io 以编程方式关闭 Android 屏幕键盘?
我有一个带有自动完成搜索的搜索字段。当用户停止输入时,我会显示搜索结果,但屏幕键盘仍然可见 - 掩盖了许多结果。
有没有办法使用 trigger.io 以编程方式关闭 Android 屏幕键盘?
我有一个带有自动完成搜索的搜索字段。当用户停止输入时,我会显示搜索结果,但屏幕键盘仍然可见 - 掩盖了许多结果。
实际上有两种方法可以使用Trigger.io
:
原生插件
您可以编写一个隐藏软键盘的本机插件。相关代码应如下所示(基于Close/hide the Android Soft Keyboard):
InputMethodManager inputMethodManager = (InputMethodManager) ForgeApp.getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(ForgeApp.getActivity().getCurrentFocus().getWindowToken(), 0);
Javascript
使用 Javascript 隐藏软键盘的正确方法是模糊当前聚焦的元素。在现代浏览器中,您只需要调用:
document.activeElement.blur()
但是,document.activeElement
并不总是可用,有时似乎不正确。我使用这样的东西:
if (document.activeElement &&
document.activeElement.blur &&
document.activeElement !== document.body) {
document.activeElement.blur();
}
else {
jQuery(':focus').blur();
}
即使这也不适用于某些Android 2.x 设备。查看如何使用 JavaScript 隐藏 Android 键盘?更多解决方法。