1

我知道这个问题之前已经回答过,在这里:javascript:void(0) 或 onclick="return false" for <a> - 哪个更好?

但是,该解决方案对我不起作用。

这是适用的代码:

HTML:

<a id="Skip">Skip</a>

Javascript:

   var Skip = document.getElementById("Skip");
   Skip.addEventListener('click', reloadPage(), true);

   function reloadPage() {
        window.location.href = "play.php";
    }

当我点击“跳过”时,什么也没有发生。我想保留window.location.href重新加载的方法,因为我想向其中添加 $_GET 变量。

4

2 回答 2

6
Skip.addEventListener('click', reloadPage(), true);
//                                       ^^-------------------

应该:

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

您希望回调reloadPage不是reloadPage返回的内容。

于 2013-07-13T22:57:42.390 回答
2

基本上你已经将函数指针传递给 addEventListener。因此,当点击发生时,它会调用该方法。你不想调用什么都不返回的方法 coz

例如:

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

你也可以像你写的那样做,但前提是你的方法返回另一个函数

例如

Skip. addEventListener('click', reloadPage(), true);
function reloadPage() {
     return function(){
        // do something interesting.
     }
}
于 2013-07-13T23:10:08.760 回答