在组件安装上添加touchmove事件监听器

时间:2019-05-02 08:34:24

标签: javascript reactjs

我有组件,尝试在其中做下一件事情:

  disableBackgroundScroll() {
    const container = document.getElementsByClassName('container')

    container.addEventListener('touchmove', (e) => {
      e.preventDefault()
    }, false)
  }

  componentDidMount() {
    this.disableBackgroundScroll()
  }

但是我得到一个错误:

  

container.addEventListener不是函数

为什么我不能在组件安装上添加事件监听器?

1 个答案:

答案 0 :(得分:2)

您使用的函数getElementsByClassName返回一个数组。您可以在这里https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName

了解更多信息

您无法在数组上调用addEventListener,这就是失败的原因。您应该从结果数组中获取所需的元素,或者改用getElementById之类的东西。