简体   繁体   English

在reactJS中删除事件监听器

[英]remove event listener in reactJS

I wants to remove event listener that are already in event listener.My Code is 我想删除事件监听器中已经存在的事件监听器。我的代码是

  public componentDidMount() {
this.drags();
}
private drags(){
 const e = ReactDOM.findDOMNode(this.container);
    if (e) {
      e.addEventListener("mousedown", (event: any) => {
      ....
       parent = ReactDOM.findDOMNode(this).parentNode;
       if (parent) {
         parent.addEventListener("mousemove", (event1: any) => {
         ....
         const eDrag = parent.getElementsByClassName("draggable");
          eRes[0].addEventListener("mouseup", (event3: any) => {
          **// HERE I WANT TO REMOVE LISTENER OF PARENT OF MOUSE MOVE**
          }
        }
       }

    }
  }

}

Can anybody help me in this ? 有人可以帮我吗?

Do not use anonymous function as the event handler, use a named function instead. 不要将匿名函数用作事件处理程序,而应使用命名函数。

So, if you add the listener this way: 因此,如果您以这种方式添加侦听器:

function doSomething() {
  // something 
}

window.addEventListener('mousedown', this.doSomething);

You can remove it like: 您可以像这样删除它:

window.removeEventListener('mousedown', this.doSomething);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM