有没有办法通过trigger.io以编程方式关闭屏幕键盘上的Android?trigger.io - 关闭软键盘?
我有一个自动完成搜索的搜索字段。当用户停止输入时,我会显示搜索结果,但屏幕键盘保持可见 - 模糊了一些结果。
有没有办法通过trigger.io以编程方式关闭屏幕键盘上的Android?trigger.io - 关闭软键盘?
我有一个自动完成搜索的搜索字段。当用户停止输入时,我会显示搜索结果,但屏幕键盘保持可见 - 模糊了一些结果。
实际上有这样使用Trigger.io
的方法有两种:
本地插件
你可以写一个native plugin隐藏软键盘。相关的代码应该是这个样子(基于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的设备上运行。查看How can I hide the Android keyboard using JavaScript?了解更多解决方法。
我需要一个JS解决方案。在输入密钥后调用时工作得很漂亮。 – 2016-07-02 15:28:05
尽管我在下面提供了一个解决方案,但我不确定当用户停止输入时隐藏键盘的用户体验是否会很好。你如何定义这个(例如,当用户不输入x秒)?显示/隐藏键盘可能需要一些时间,并且您应该确保用户以后不打字。 – 2013-05-01 19:26:09