通过返回false来防止链接打开 - 不工作(javascript)

时间:2016-03-14 16:53:18

标签: javascript function hyperlink

这应该很简单,但我找不到答案

我有一个触发功能的链接。

<a href="someplace.html" onclick="myfunction()"</a>

如果我想阻止链接打开,我需要函数返回false,对吧?

function myfunction() {
  // some code
  return false;
}

然而,这不起作用。我可能会遗漏一些必要的东西,但请帮助我。

为什么这不起作用: http://codepen.io/lukastillmann/pen/aNmZbx?editors=1010

1 个答案:

答案 0 :(得分:3)

您必须从事件处理函数返回false

您的事件处理函数:

  1. 调用myfunction()
  2. ......就是这样,它没有回复声明。
  3. myfunction有一个return语句,但它不是事件处理函数。它是从事件处理函数调用的另一个函数。

    onclick="return myfunction()"
    

    现代代码不会使用have horrible gotchas并违反several best practicesonclick属性。

    function myfunction(e) {
      // some code
      e.preventDefault();
    }
    
    document.querySelector("a").addEventListener("click", myfunction);