小游戏最大化和退出最大化后,鼠标点击事件位置异常,wx.onMouseU返回的位置不正确
[图片] 复现步骤: 1.打开真机调试->PC预览 2.点击右上角的最大化按钮,然后点击页面底部位置,如上图红色位置。 3.按键ESC退出最大化,再次点击页面底部位置,如上图红色位置。 4.然后打开VSconsole,观看打印,可以发现onWindowResize方法每次点击最大化或最小化的时候被触发两次,仅第二次的尺寸是正常值,但是鼠标点击事件返回的坐标位置,却是基于不正常的那个尺寸返回。最大化后,窗体高1080,但鼠标返回坐标离1080差距较大。当退出最大化后,窗体只有786的高度,但是返回坐标却是823,明显超过。 [图片] 出错原因猜测: 根据两次高度差值计算都是44。1080-1036=44, 830-786=44。而44刚好是PC端小游戏窗口标题栏的高度。 具体过程: 点击最大化后,第一次触发onWindowResize是带标题栏,第二次触发时隐藏了标题栏。所以高度有个从小变大的过程。 按ESC退出最大化,第一次触发不带标题栏(因为在最大化的第二次触发就隐藏了标题栏),第二次触发显示回了标题栏。所以高度有个从大变小的过程。 估计是隐藏标题栏和显示回标题栏后,微信小游戏底层没有处理好,所以导致鼠标点击事件的坐标错位。