蔡繁荣
蔡繁荣
  • 发布:2015-06-23 11:07
  • 更新:2015-08-22 12:19
  • 阅读:3885

如何使用代码收回弹出的软键盘【已解决】

分类:HTML5+

按软键盘的“前往”按钮触发脚本动作后(比如登录成功进入下一页面后),
衍生出了一个新的问题,如何隐藏软键盘呢,软键盘没有收回,iOS 8.2。

另外提下个人意见:觉得官方有必要对软键盘的相关问题整理一个专题出来,既可以让开发者有一个完整的系统,也可以防止后来者重复提问。

2015-06-23 11:07 负责人:无 分享
已邀请:

最佳回复

DCloud_IOS_XTY

DCloud_IOS_XTY

你试下这个看是否好使

document.activeElement.blur();
  • 拓荒

    让输入完一个input 后 点击一个按钮弹出提示框,然后点击提示框的确认提示框消失后键盘会重新自动弹出,即使用了你提供的代码也是这样的。

    2017-08-31 09:14

microkj

microkj

网上所有的资料都是用InputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),0);来隐藏虚拟键盘,但是view对象是获取不到的,该方法不可行,于是我想到了用
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 来切换软键盘的隐藏和显示,我的目的是要隐藏虚拟键盘,那就要判断当前键盘是否激活,激活了才会执行该函数,那么判断键盘激活的方式就是判断窗口的大小时候变化,变化了说明键盘激活,代码如下

var win_height=window.innerHeight;//页面加载的时候记录当前窗口的高;


function closeKeyBoard(){
var current_height=window.innerHeight
var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
var main = plus.android.runtimeMainActivity();
if(win_height>current_height)
{
var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}

蔡繁荣

蔡繁荣 (作者) - 发表是最好的记忆

iOS下测试可以使用!

  • 保级队球迷

    请问ios8.2键盘不隐藏是用“document.activeElement.blur();”这个解决的吗?

    2016-02-25 14:38

该问题目前已经被锁定, 无法添加新回复