【问题标题】:I want to stop my website from restarting我想阻止我的网站重新启动
【发布时间】:2022-11-14 01:29:20
【问题描述】:

我知道我可以使用 preventDefault 来做到这一点,但我不知道在哪里设置代码上的 preventDefault...

let navbar = document.querySelector(".navbar");

document.querySelector("#menu-btn").onclick = () => {
    navbar.classList.toggle('active');
}

window.onscroll = () => {
    navbar.classList.remove("active");
}

let hearts = document.querySelectorAll(".icons a");

hearts.forEach(a => {
    a.addEventListener("click", ()=> {a.classList.toggle("color");} 
    )
})



我认为它在hearts.forEach 块中,但我不知道该放在哪里

【问题讨论】:

  • 重启?你是什​​么意思?
  • 您的意思是当用户单击按钮时防止重新加载?

标签: javascript html css restart preventdefault


【解决方案1】:

通过重新启动,我假设您的意思是刷新页面(或在超链接的情况下导航到其他页面)

您需要在侦听器中注册 preventDefault ,所以下面应该可以工作(注意您收到一个事件事件回调中的参数:

hearts.forEach(a => {
    a.addEventListener("click", (event) => {
      event.preventDefault();  
      a.classList.toggle("color");
    })
})

Event.preventDefault 参考文档

【讨论】:

    【解决方案2】:

    如果您试图阻止点击事件,那么:

    hearts.forEach(a => {
        a.addEventListener("click", (e) => {
          e.preventDefault()
          a.classList.toggle("color")
        } 
       )
    })
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-01
      • 2013-10-12
      • 2016-10-05
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      相关资源
      最近更新 更多