Javascript setTimeOut延迟从html中的url加载href-不工作

Javascript setTimeOut延迟从html中的url加载href-不工作,javascript,settimeout,Javascript,Settimeout,我在所有页面上都有一个链接,每次用户单击该链接时,我都希望使用标记延迟从href加载下一个页面。我试图在HTML中抓住标记中的链接,然后试图延迟它,但超时不起作用。有人能帮忙吗 var link = document.querySelector('a').getAttribute('href') setTimeout(function() { location.href = link }, 4000); 我相信这将有助于你: const a = document.querySelecto

我在所有页面上都有一个链接,每次用户单击该链接时,我都希望使用
标记延迟从
href
加载下一个页面。我试图在HTML中抓住
标记中的链接,然后试图延迟它,但超时不起作用。有人能帮忙吗

var link = document.querySelector('a').getAttribute('href')

setTimeout(function() {
  location.href = link
}, 4000);

我相信这将有助于你:

const a = document.querySelector('a');

a.addEventListener("click", (e) => {
  e.preventDefault();
  const link = e.target.href;

  setTimeout(() => {
    window.open(link)
  }, 1000)
})

我相信这会对你有所帮助:

const a = document.querySelector('a');

a.addEventListener("click", (e) => {
  e.preventDefault();
  const link = e.target.href;

  setTimeout(() => {
    window.open(link)
  }, 1000)
})

}


}

超时是无条件的,您是否阻止单击链接的默认操作?另外,请描述问题,“不工作”并不能说明问题的任何方面……超时是无条件的,您是否阻止单击链接的默认操作?另外,请描述这个问题,“不工作”并不能说明问题的任何方面……错误“指向jsfiddle.net的链接必须附带代码”。这意味着相关代码应该在问题中。并不是说您应该将链接本身格式化为代码。要了解更多信息,请查看您的示例是否可以运行。谢谢Tim。我把它添加到我的代码中,但是延迟仍然没有发生。应该,你能分享你的代码示例吗?错误“链接到jsfiddle.net必须附带代码。”意味着相关代码应该在问题中。并不是说您应该将链接本身格式化为代码。要了解更多信息,请查看您的示例是否可以运行。谢谢Tim。我将其添加到我的代码中,但延迟仍然没有发生。应该是这样的,你可以分享你的代码示例吗?我们确定你只选择了一个元素“a”吗?顺便说一句,你可以移动const a=document.querySelector('a');a、 addEventListener(“click”,(e)=>{e.preventDefault();const link=e.target.href;setTimeout(()=>{window.open(link)},3000})outside GloballyTanks我试过了,除了id为primaryCTAnice的链接外,它对所有a链接都有效,很高兴它有帮助。你确定只选择了一个元素“a”吗,你能移动常量a=document.querySelector('a');a、 addEventListener(“单击”,(e)=>{e.preventDefault();const link=e.target.href;setTimeout(()=>{window.open(link)},3000)})outside GloballyTanks我试过了,除了id为primaryCTAnice的链接外,它对所有a链接都有效,很高兴它有帮助。