如何编写一个不可单击的链接,在单击时运行javascript函数?

如何编写一个不可单击的链接,在单击时运行javascript函数?,javascript,html,Javascript,Html,我知道这个问题以前在这里得到过回答: 然而,这个解决方案对我不起作用 以下是适用的代码: HTML: 当我点击Skip时,什么也没发生。我想保留window.location.href重新加载的方法,因为我想向它添加$\u GET变量 Skip.addEventListener('click', reloadPage(), true); // ^^------------------- 应该是: Skip.addEve

我知道这个问题以前在这里得到过回答:

然而,这个解决方案对我不起作用

以下是适用的代码:

HTML:

当我点击Skip时,什么也没发生。我想保留window.location.href重新加载的方法,因为我想向它添加$\u GET变量

Skip.addEventListener('click', reloadPage(), true);
//                                       ^^-------------------
应该是:

Skip.addEventListener('click', reloadPage, true);
您希望回调是重载页面,而不是重载页面返回的内容

应该是:

Skip.addEventListener('click', reloadPage, true);

您希望回调是重新加载的页面,而不是重新加载的页面返回的内容。

基本上,您拥有指向addEventListener的传递函数指针。因此,当单击“发生”时,它将调用该方法。您不想调用该方法,因为它不返回任何内容

例如:

Skip. addEventListener('click', reloadPage, true);
您也可以像编写的那样执行操作,但前提是您的方法返回另一个函数

例如

Skip. addEventListener('click', reloadPage(), true);
function reloadPage() {
     return function(){
        // do something interesting.
     }
}

基本上,您拥有指向addEventListener的传递函数指针。因此,当单击“发生”时,它将调用该方法。您不想调用该方法,因为它不返回任何内容

例如:

Skip. addEventListener('click', reloadPage, true);
您也可以像编写的那样执行操作,但前提是您的方法返回另一个函数

例如

Skip. addEventListener('click', reloadPage(), true);
function reloadPage() {
     return function(){
        // do something interesting.
     }
}

href=并使用return false停止添加到浏览器中的url。在Javascript中,您需要注意函数或functionhref=并使用return false停止添加到浏览器中的url。在Javascript中,您需要注意函数或Functions这仍然不起任何作用。下面是一个带有测试代码的JSFIDLE。该JSFIDLE无法工作,因为出现语法错误-getElementByID而不是getElementByID。看看这个,它在工作。它不会重定向到,因为这违反了同源策略,但我抛出了一个警报,向您显示正在调用代码。单击它将发出警报,如果您观看控制台,您将收到一个错误,如拒绝在帧中显示,因为它将“X-frame-Options”设置为“SAMEORIGIN”。在Chrome上,但它应该适合你。这个答案有几个修正,我不知道每个修正都有不同的处理!谢谢,这还是没用。下面是一个带有测试代码的JSFIDLE。该JSFIDLE无法工作,因为出现语法错误-getElementByID而不是getElementByID。看看这个,它在工作。它不会重定向到,因为这违反了同源策略,但我抛出了一个警报,向您显示正在调用代码。单击它将发出警报,如果您观看控制台,您将收到一个错误,如拒绝在帧中显示,因为它将“X-frame-Options”设置为“SAMEORIGIN”。在Chrome上,但它应该适合你。这个答案有几个修正,我不知道每个修正都有不同的处理!谢谢