原因
为了防止移动端弹窗滚动穿透到底层,做了一个弹窗蒙版,并且阻止了底层的默认事件。但是阻止默认事件会影响到子元素,于是就导致了这个bug——弹窗也无法滚动了。
stopPropagation
这个方法很常见,是阻止捕获和冒泡阶段中当前事件的进一步传播,意思就是不冒泡也不捕获,阻止父与子之间事件的传递。
当你调用了stopPropagation,且为冒泡模式,点击子元素,不会触发父元素事件。
捕获模式,点击子元素,不会触发子元素事件。
用stopPropagation就可以阻止默认事件是否触发的设置在子父元素之间传递
解决
子元素调用stopPropagation,并且为冒泡模式,这样事件只在子元素中被触发,默认事件默认触发。
这也是我目前发现的最简单解决移动端滑动穿透的方法。