Egret社区
本帖最后由 繁星捉少年 于 2020-7-24 18:28 编辑

午网上查了查,发现IOS跟安卓对软键盘弹起响应事件也是不一样的。IOS是focus,而安卓是resize。而我打算先把IOS调好来,发现用focus不管用,所以改用focusin,让事件冒泡上来:
  1.     /**
  2.      * IOS软键盘弹起
  3.      */
  4.     document.body.addEventListener('focusin', () => {
  5.        console.log('IOS 键盘弹起啦!');
  6.         if (
  7. document.activeElement.tagName === 'INPUT' ||
  8.             document.activeElement.tagName === 'TEXTAREA'
  9.         ) {
  10.             window.setTimeout(function () {
  11.     if ('scrollIntoView' in document.activeElement) {
  12.           window.scrollTo(0, 0);
复制代码
还是不管用,已经研究一天了,头疼。求大佬帮我看看
这个是截屏:

input框

input框


截屏

截屏

dartsGame.rar

3.38 MB, 阅读权限: 200, 下载次数: 1, 下载积分: 银子 -1

分享到 :
0 人收藏

9 个回复

倒序浏览
app小王子  社区管理员 | 2020-7-24 17:44:17
麻烦提供复现demo,另你的帖子是设置错了吧 别人需要给你付费才可以看你的帖子。。。。
繁星捉少年  登堂入室 | 2020-7-24 18:16:19
app小王子 发表于 2020-7-24 17:44
麻烦提供复现demo,另你的帖子是设置错了吧 别人需要给你付费才可以看你的帖子。。。。 ...

确实设置错了,我还苦苦等了一个下午
18207744107  登堂入室 | 5 天前
app小王子 发表于 2020-7-24 17:44
麻烦提供复现demo,另你的帖子是设置错了吧 别人需要给你付费才可以看你的帖子。。。。 ...

自从升级到5.2.28了之后就出现了这个问题,原因我看了官方文档,其中有一条是
修复 iOS 弹起输入键盘时,游戏页面不能跟随弹起的问题
然后我升级到5.2.30也我的webview也出现了这个输入框滑出去页面的问题
希望你们看看是不是5.3.7之后全部修复了这些内容了,还有我上次说的5.3.8的setFocus内容修好了什么时候更新出来?
18207744107  登堂入室 | 5 天前
繁星捉少年 发表于 2020-7-24 18:16
确实设置错了,我还苦苦等了一个下午

我现在是用一个办法
this.lb_send.addEventListener(egret.TouchEvent.FOCUS_IN, this.onFocusIn, this);
private onFocusIn() {
        var tw = egret.Tween.get(this);
        tw.to({}, 800).call(this.moveBack, this);
}
private moveBack() {
        window.scrollTo(0, 0);
}
延迟一点时间之后再闪动回来,虽然会很抽筋,但是目前还没想到什么好的解决办法
繁星捉少年 发表于 2020-7-24 18:16
确实设置错了,我还苦苦等了一个下午

问题已提交给研发,有结果告知。谢谢反馈
18207744107 发表于 2020-8-5 16:16
自从升级到5.2.28了之后就出现了这个问题,原因我看了官方文档,其中有一条是
修复 iOS 弹起输入键盘时, ...

5.3.8本周差不多会发
app小王子 发表于 2020-8-5 18:10
问题已提交给研发,有结果告知。谢谢反馈

我们用自己的helloworld测试了一下 输入法 在安卓和ios的表现是一致的。然后发现你们的代码中添加了这些代码。 Snipaste_2020-08-06_11-42-46.png 这个差异化 是你们写的这些代码引起的
18207744107  登堂入室 | 4 天前
app小王子 发表于 2020-8-6 11:47
我们用自己的helloworld测试了一下 输入法 在安卓和ios的表现是一致的。然后发现你们的代码中添加了这些 ...

我只是IOS出现BUG,你发的那张图,我发觉跟我处理方式差不多,但是不写那个focusin方法ios顶部输入框就会飞出去,而且顶部要设置成setTimeout 的300毫秒以上才有效,但是吧有些输入框是在顶部的,有些是在底部的,如果这样统一设置document.body.scrollIntoView(false)也不行啊,有些应该是document.body.scrollIntoView(true)的,就本来我是5.2.28之前是正常的,就你们修复了一个IOS弹出键盘整个页面上移之后,我有一部分顶部的输入框就出去了,底部输入框是没问题
18207744107 发表于 2020-8-6 17:16
我只是IOS出现BUG,你发的那张图,我发觉跟我处理方式差不多,但是不写那个focusin方法ios顶部输入框就会 ...

我发的这张图就是你的demo下载下来的截图啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部