从自定义元素中删除事件监听器

问题描述

我在从自定义创建的元素中删除事件侦听器时遇到问题。下面的代码可以运行,但是我仍然可以获得更多的事件侦听器(在chrome devtools的下面的屏幕中显示)。

stopPropagation(event) {
      event.stopPropagation();
      },saveFileDocument() {
    
   let elementTodownload = document.createElement("a");
    // Some code to add attributes and stuff
   // like "download" (i'm not sure it this is relevant)

  document.body.appendChild(elementTodownload);

  

  elementTodownload.addEventListener("click",this.stopPropagation);
  elementTodownload.click();
  elementTodownload.removeEventListener("click",this.stopPropagation);

  document.body.removeChild(elementTodownload);
  elementTodownload = null;
}

devtools中的屏幕(单击前后):

Before (549 listeners)

After (551 listeners)

有趣的是:当我通过删除事件监听器删除行时,侦听器计数在每个函数调用中仅增加1。 我正在使用的前端框架是Vue,但我不认为它与Vue有关。

这是我的第一个问题,对不起,如果我没有详细说明。我可以根据要求添加它们。

谢谢

Paweł

解决方法

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

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

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