我有组件,尝试在其中做下一件事情:
disableBackgroundScroll() {
const container = document.getElementsByClassName('container')
container.addEventListener('touchmove', (e) => {
e.preventDefault()
}, false)
}
componentDidMount() {
this.disableBackgroundScroll()
}
但是我得到一个错误:
container.addEventListener不是函数
为什么我不能在组件安装上添加事件监听器?
答案 0 :(得分:2)
您使用的函数getElementsByClassName
返回一个数组。您可以在这里https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
您无法在数组上调用addEventListener
,这就是失败的原因。您应该从结果数组中获取所需的元素,或者改用getElementById
之类的东西。