首页 > 解决方案 > 如何删除类中的事件侦听器?

问题描述

为什么当我单击按钮时这不会删除事件侦听器?我已经将函数分配给变量并将它们用作参数,但它仍然不起作用。我究竟做错了什么?我对使用课程非常陌生,所以问题可能就在那里。

class InputHandler{
constructor(){
    this.down = this.keyDown.bind(this);
    this.up = this.keyUp.bind(this);

    document.addEventListener("keydown", this.down);
    document.addEventListener("keyup", this.up);

    document.getElementById("button").addEventListener("click", this.onClick);
}

keyDown(event){
    //do stuff
}

keyUp(event){
    //do stuff
}

onClick(){
    document.removeEventListener("keydown", this.down);
    document.removeEventListener("keyup", this.up);
}

}

标签: javascript

解决方案


推荐阅读