JS 解决移除匿名事件处理函数

10 min read
  • 使用 AbortController:可以创建一个 AbortController 对象,然后将它的 signal 属性传递给 addEventListener 的第三个参数,例如:
const controller = new AbortController();
target.addEventListener('click', () => {
  // do something
}, { signal: controller.signal });
// later
controller.abort();
  • 使用替换元素:可以将绑定了匿名函数的元素从 DOM 中移除,然后再添加一个新的元素,例如:
const oldTarget = document.getElementById('target');
const newTarget = oldTarget.cloneNode(true);
oldTarget.parentNode.replaceChild(newTarget, oldTarget);