如何在此javascript中设置此.getAttribute(';href';)?

如何在此javascript中设置此.getAttribute(';href';)?,javascript,jquery,Javascript,Jquery,我正在尝试在单击4秒后加载链接。下面是Javascript和链接 <script> function myFunction() { setTimeout(function(){window.location.assign(this.getAttribute('href'))},4000); } </script> <a href="http://www.foo.com" onclick="myFunction(); return false">

我正在尝试在单击4秒后加载链接。下面是Javascript和链接

 <script>
 function myFunction()
 {
 setTimeout(function(){window.location.assign(this.getAttribute('href'))},4000);
 }
 </script>

<a href="http://www.foo.com" onclick="myFunction(); return false">

函数myFunction()
{
setTimeout(function(){window.location.assign(this.getAttribute('href'))},4000);
}

但它不起作用。我怎样才能解决这个问题。谢谢您的回答。

您需要将单击的元素引用传递给单击处理程序

<a href="http://www.foo.com" onclick="myFunction(this); return false">
或者使用jQuery

function myFunction(el) {
    setTimeout(function () {
        window.location.assign($(el).attr('href'))
    }, 4000);
}

您需要将单击的元素引用传递给单击处理程序

<a href="http://www.foo.com" onclick="myFunction(this); return false">
或者使用jQuery

function myFunction(el) {
    setTimeout(function () {
        window.location.assign($(el).attr('href'))
    }, 4000);
}

虽然我会省略jQuery版本(不必要,不是吗?),但我会省略jQuery版本(不必要,不是吗?),为什么要这样做并破坏浏览器的工作方式,包括Ctrl-click?为什么要这样做并破坏浏览器的工作方式,包括Ctrl-click?