如何删除画布元素事件监听器

问题描述

在画布上,我绘制线,矩形,三角形。画布侦听器 mousedown 添加两个事件侦听器 mousemove,mouseup 。在监听器mouseup事件中,要删除监听器 mousemove,mouseup

添加侦听器有效,但删除侦听器无效。

监听器添加到鼠标按下事件:

this.appCanvas.addEventListener("mousedown",(e) => {
            this.onMouseDown(e);
        });

    onMouseDown(e) {
        this.savedImage = this.appContext.getimageData( 0,this.appContext.canvas.width,this.appContext.canvas.height
        );

        this.appCanvas.addEventListener("mousemove",(e) => {
            this.onMouseMove(e);
        });
        this.template.addEventListener("mouseup",(e) => {
            this.onmouseup(e);
        });
    }

在mouseup事件上删除侦听器

onmouseup(e) {      
    this.appCanvas.removeEventListener( "mousemove",(e) => {this.onMouseMove(e);},false );
    this.template.removeEventListener("mouseup",(e) => {this.onmouseup(e);},false);
}

侦听器已删除无法正常工作,仍然可以使用mousemove和mouseup事件进行画布。在mouseup事件中,想要从canvas元素中删除侦听器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)