防止在移动设备上滚动的功能:
const hideScroll = function(e) {
e.preventDefault()
}
添加侦听器:
document.body.addEventListener('touchmove', hideScroll, { passive: false })
删除监听器:
document.body.removeEventListener('touchmove', hideScroll)
在chrome devtools中,我清楚地看到,添加此侦听器有效,我无法使用触摸滚动,但是当我触发removeEventListener
并没有将其删除时,我在chrome dev工具中看到了这一点,我可以t用触摸滚动。在Vue观察者中使用它:
watch: {
// hidescroll function is here: const hideScroll = function(e) {}
chatWindow(newValue) {
if (newValue) {
// adding listener
} else {
// removing listener
}
}
}
答案 0 :(得分:0)
将hideScroll
功能移出观察者。
现在,每次触发监视程序时,您都在创建新功能。函数看起来相同,但是与事件侦听器附加的实例不同,这就是为什么您不能删除它的原因。