代码之家  ›  专栏  ›  技术社区  ›  Ben

删除带有参数的arrow函数的事件侦听器

  •  0
  • Ben  · 技术社区  · 4 年前

    是否仍然可以删除这样添加的事件侦听器:

    element.addEventListener(event, function(){/* do work here */}, false);
    

    不更换元件?

    0 回复  |  直到 7 年前
        1
  •  1
  •   Khaled Developer    5 年前

    除非在创建时存储了对事件处理程序的引用,否则无法干净地删除事件处理程序。

    我通常会将它们添加到该页面上的主对象中,然后在使用该对象时,您可以迭代并干净地处理它们。

        2
  •  0
  •   funtkungus    4 年前

    您可以像这样删除事件侦听器:

    element.addEventListener("click", function clicked() {
        element.removeEventListener("click", clicked, false);
    }, false);