簡體   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