弹一个框,页面层级跑下边之后还能滚动问题
发布于 6 年前 作者 huguiying 12979 次浏览 来自 问答

我在页面上写了一个自定义弹窗,但是页面长度本身比较长,超出一页了,弹窗固定在页面中间,但是弹框之后,页面层级经过z-index的设置,后边的页面虽不能进行操作,但是能够进行滚动,我认为这是一个bug,希望小程序团队能够留心一下,谢谢。辛苦!

10 回复

这个最外层可能不是page控件,但是可以理解为最外面有个类似scroll-view的存在,自定义控件怎么写都是它的儿子辈(话说控件内部的控件怎么称呼?), 所以如果不截获touchmove事件的话,肯定会传给这个最外层(不知道这个最外层怎么称呼,也许实际上不是最外层?)

哦,明白了,确实做到了,多谢多谢。

为啥要处理?这就是用来捕捉的,页面会滚动是因为有touchmove事件传到了最外层,但最外层就目前看是不会区分是哪儿个子控件给它传递的touchmove事件,它可能只负责接收touchmove事件并做出处理,就是滚动,也就是说它滚动需要touchmove事件中的数据,你把touchmove事件截获了,它还滚个球

测试catchtouchmove没用 等待官方出动态操作page的API直接给page设置overflow:hidden就不会滚动了,但是现在没有出Api

滑动是对touchmove事件的数据进行处理的结果,那么捕捉了touchmove事件,自然不会滑动,还没明白吗?

类似bindtouchmove一样,绑定一个函数,只不过改成catchtouchmove,这个函数里什么都不写,下面的页面就肯定不会随自定义控件的滑动而滑动

捕捉之后不需要进行处理的么?

改成catchtouchmove,catch有捕捉的意思

不会,完蛋,怎么截获,bindtouchmove=“mytouchmove”??还是可以滚动

没解决,我没找到这个事件,没明白解决之道

回到顶部