这应该很简单,但我找不到答案
我有一个触发功能的链接。
<a href="someplace.html" onclick="myfunction()"</a>
如果我想阻止链接打开,我需要函数返回false,对吧?
function myfunction() {
// some code
return false;
}
然而,这不起作用。我可能会遗漏一些必要的东西,但请帮助我。
为什么这不起作用: http://codepen.io/lukastillmann/pen/aNmZbx?editors=1010
答案 0 :(得分:3)
您必须从事件处理函数返回false 。
您的事件处理函数:
myfunction
有一个return语句,但它不是事件处理函数。它是从事件处理函数调用的另一个函数。
onclick="return myfunction()"
现代代码不会使用have horrible gotchas并违反several best practices的onclick
属性。
function myfunction(e) {
// some code
e.preventDefault();
}
document.querySelector("a").addEventListener("click", myfunction);