Egret社区

[Egret Engine] 输入法键盘弹出,遮挡了输入框

2019-3-29 09:12
28313
lanzyr  登堂入室 | 7 天前
Akito 发表于 2019-4-16 09:23
因为加了安卓机子判断啊,你把那个删了

删掉了,也不可以呢。(ios12.2)
但是我找到另一个同类方法。
然后专门针对ios。代码如下

//IOS浏览器调用键盘事件
//isShowKeyBoard:是ts传值过来的当前输入框控件是否是处于焦点中。
    function callJsFunc(isShowKeyBoard) {
        if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
            window.setTimeout(function () {
            if(!isShowKeyBoard)alert('document.activeElement==' + document.activeElement);
                document.activeElement.scrollIntoView(isShowKeyBoard ? true : false);
            }, 100);
        }
    }

但是这个还是有个问题。。。。
点击软键盘的 完成  按键之后,页面内上所有东西,除了输入框都不可以点击了。。。

lanzyr  登堂入室 | 7 天前
Akito 发表于 2019-4-16 09:23
因为加了安卓机子判断啊,你把那个删了

不知道 苹果浏览器 上,完成 这个字点击之后的事件是什么。。。触发了什么。。。
lanzyr  登堂入室 | 7 天前
lanzyr 发表于 2019-4-16 15:53
不知道 苹果浏览器 上,完成 这个字点击之后的事件是什么。。。触发了什么。。。 ...

这个完成  目前不知道怎么监听。
用html测试:$("#txt").keypress(function(e){  alert (e.keyCode) });
如果我点击 软键盘的【换行】,那么e.keyCode输出是 13.
但是 完成 啥也没有输出。只是把软键盘关掉,然后input的焦点移除。
001.png
lanzyr  登堂入室 | 7 天前
lanzyr 发表于 2019-4-16 15:51
删掉了,也不可以呢。(ios12.2)
但是我找到另一个同类方法。
然后专门针对ios。代码如下

经检测:ios老版本的,直接是
document.activeElement.scrollIntoView( true);就可以了。
ios12.2版本的。还是有问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部