参考: JavaScript事件机制
背景: 在 taro3.0.2 中, 小程序端使用 onPullDown(), 会造成 h5 端可以下拉, 但是不正常(顶部出现下拉空白, 不可恢复)
后来发现 tao-tabbar__pannel 的 touchmove
事件造成的
于是要关闭这个事件, 但是 使用 removeEventListener 不管用, 使用 addEventListener 覆盖, 会发现会依次执行, 不会覆盖, 于是就有了参考文章里的方法 e.stopImmediatePropagation()
async componentDidMount() {
// h5 不支持下拉刷新, 下拉会出现空白, 且不消失
if (process.env.TARO_ENV === 'h5') {
const obj = document.getElementsByClassName('taro-tabbar__panel')
obj[0].addEventListener('touchmove', function (e) {
e.stopImmediatePropagation()
e.preventDefault()
})
}
.
.
.
}
网友评论