首页 > 解决方案 > 为什么使用 onclick 在 location.reload() 之后返回 false?

问题描述

我正在制作一个使用方法location.reload()的JavaScript应用程序。该方法位于事件处理程序中以重置页面,并且此答案说您需要使用:如何使用 JavaScript 重新加载页面。location.reload()onclickreturn false;location.reload()onclick

location.reload();

有关更多信息,请参阅此MDN 页面

如果你在 an 之后刷新,onclick那么你需要在之后直接返回 false

location.reload();
return false;

为什么要在使用return false;方法之后?location.reload()onclick

标签: javascripthtmlreload

解决方案


如果事件侦听器附加到链接,则单击该链接将导致转到另一个页面而不是重新加载页面。将阻止内联事件处理程序和属性return false中的默认操作。onclick

没有return false

document.querySelector('a').onclick = function() {
  location.reload();
}
<a href="https://www.example.com">Click</a>

return false

console.log('Loaded', new Date);
document.querySelector('a').onclick = function() {
  location.reload();
  return false;
}
<a href="https://www.example.com">Click</a>

在现代 JavaScript 中,addEventListenerevent.preventDefault()被使用。

document.querySelector('a').addEventListener('click', function(e){
    e.preventDefault();
    location.reload();
});

推荐阅读