android下h5页面软键盘问题

大概情况是,某app打开了一个新窗口,窗口里有个textarea,输入完内容之后,点击提交,在android4.4以后的手机上,软键盘不会消失。

用blur木有用,按说点了提交按钮的时候,textarea应该就失去焦点。暂时不确定是否是webview bug。

现在两条路,要么要求native端提供一个隐藏keyboard的api,要么自己想办法,隐藏掉软键盘。

后来我还是绝对自己搞

现在有个思路是,点提交的时候,创建一个input,然后focus之,再hide之,这样页面没有field是处于focus状态,那么键盘肯定就没了喽

写代码验证了一下,果然阔以

var fakeInput=document.createElement('input');
fakeInput.setAttribute('type','text');
fakeInput.setAttribute('style','border:none;background:#fff;position:absolute;bottom:0;line-height:1px;height:1px;');
document.body.appendChild(fakeInput);
setTimeout(function() {
    fakeInput.focus();
    setTimeout(function() {
        fakeInput.setAttribute('style', 'display:none;');
    }, 10);
}, 10);

这么一个小东东,还写了篇文章,po主太水了

3 Responses

  1. 微个日光日说道:

    请问博主的code display是用了那个插件or..?

  2. 肖攀说道:

    po主 救命啊。。。拜托救救我吧 我还在cordova这个大坑里来回纠缠 😐 😐 😐 请帮帮忙QQ:921140187我都快被QQ登陆等等折磨死了

  3. sos说道:

    在h5页面如何在ios设备中将软键盘隐藏???????????????????