Javascript trigger.io-关闭软键盘?

Javascript trigger.io-关闭软键盘?,javascript,android,android-webview,android-softkeyboard,trigger.io,Javascript,Android,Android Webview,Android Softkeyboard,Trigger.io,有没有办法用trigger.io以编程方式关闭Android屏幕键盘 我有一个自动完成搜索的搜索字段。当用户停止键入时,我会显示搜索结果,但屏幕上的键盘保持可见-模糊了许多结果。使用Trigger.io实际上有两种方法: 本机插件 您可以编写隐藏软键盘的。相关代码应如下所示(基于): Javascript 使用Javascript隐藏软键盘的正确方法是模糊当前关注的元素。在现代浏览器中,您只需调用: document.activeElement.blur() 但是,document.acti

有没有办法用trigger.io以编程方式关闭Android屏幕键盘


我有一个自动完成搜索的搜索字段。当用户停止键入时,我会显示搜索结果,但屏幕上的键盘保持可见-模糊了许多结果。

使用
Trigger.io实际上有两种方法:

本机插件

您可以编写隐藏软键盘的。相关代码应如下所示(基于):


Javascript

使用Javascript隐藏软键盘的正确方法是模糊当前关注的元素。在现代浏览器中,您只需调用:

document.activeElement.blur()
但是,
document.activeElement
并不总是可用,有时似乎不正确。我用这样的方式:

if (document.activeElement && 
    document.activeElement.blur && 
    document.activeElement !== document.body) {
  document.activeElement.blur();
}
else {
  jQuery(':focus').blur();
}

即使这样,对一些安卓2.x设备也不起作用。查看更多解决方法。

尽管我在下面提供了一个解决方案,但我不确定在用户停止键入时隐藏键盘是否是一种良好的用户体验。您如何定义这一点(例如,当用户在x秒内未键入内容时)?显示/隐藏键盘可能需要一些时间,您应该确保用户以后不会键入任何内容。我需要一个JS解决方案。在输入键后调用时工作良好。
if (document.activeElement && 
    document.activeElement.blur && 
    document.activeElement !== document.body) {
  document.activeElement.blur();
}
else {
  jQuery(':focus').blur();
}