繁体   English   中英

如何删除事件监听器

[英]How to remove an event listener

我在这段代码中嵌套了一些事件监听器,它们最终将链接到一个新页面。 我打算在 new.html 上使用 same.js 文件,该文件通过使用 window.location 方法链接到,但听众继续在新页面上收听。 新页面加载后如何删除它们。

我已经在网上进行了一些搜索,但找不到合适的解决方案。 我应该为新页面创建一个 new.js 吗? 或者有没有办法取消所有的事件监听器(每个字符选项都有一段代码)

mage.addEventListener('click', e => {
  rogue.remove();
  warrior.innerText = "Actually i don't want to be a mage, i changed my mind.";
  text.innerText = "You have chosen to be a Mage. Please click again if this is correct";
  warrior.addEventListener('click', e => {
    window.location.reload();
  });
  mage.addEventListener('click', e => {
    warrior.remove();
    text.remove();
    mage.innerText = "Let's start the adventure!"
    const char = localStorage.setItem("char", "Mage");
    mage.addEventListener('click', e => {
      window.location.href = "page1.html";
    });
  });
});

我的简单界面

您不想在事件处理程序中添加事件侦听器

character.addEventListener('click', e => {
  const tgt = e.target.
  if (tgt.id === "mage")....
  .....  
  if (changed) window.location.reload();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM