href=“javascript:void(0)”与链接的高级禁用
我用href=“javascript:void(0)”与链接的高级禁用,javascript,Javascript,我用 要禁用href属性,然后使用onlclick为我的锚元素提供功能。我如何通过编程实现这一点。不确定您所说的在xhtml中工作,而不是在javascript中工作是什么意思 如果要禁用链接,可以使用return false取消默认操作 href="javascript:void(0)" 更新-在函数的上下文中 <a href="http://www.apple.com" onclick="return false;">Apple</a> 如果可以的话,有几个问题
要禁用href属性,然后使用onlclick为我的锚元素提供功能。我如何通过编程实现这一点。不确定您所说的在xhtml中工作,而不是在javascript中工作是什么意思 如果要禁用链接,可以使用return false取消默认操作
href="javascript:void(0)"
更新-在函数的上下文中
<a href="http://www.apple.com" onclick="return false;">Apple</a>
如果可以的话,有几个问题
我建议采取一种不引人注目的方式
我不会使用returnfalse。这可能会产生意想不到的结果。快速的谷歌搜索将会有更多的信息
使用preventDefault删除默认功能
编辑:
如果您不确定如何悄悄地控制单击事件,您需要的是addEventListener。您可以从那里控制一切,包括默认设置
不要将javascript放在href中。别管那个人。在onclick中执行您想要的操作,只需确保它返回false,这样就不会执行默认链接操作。请记住,在新选项卡/窗口中打开链接的人不会执行您的代码-他们只会在href下打开链接
如果使用a href毫无意义,您还可以在任何其他元素上使用onclick,而不仅仅是a。那么问题是什么?如果删除target=\u blank,它是否还能工作。。。我想是的。+1好的建议是不要使用href,尽管最好不要像@Scott说的那样单击并使用AddEventListener。回答得很好。我不知道为什么你会说returnfalse会产生意想不到的结果。它实际上是最古老的受支持方法,甚至在IE2中也可以使用。我不知道有哪个浏览器版本不支持此功能。如果他使用默认路径,他应该知道IE6不支持addEventListener,他需要使用attachEvent。Quirksmode进入精致的细节-返回false不会停止冒泡。这就是我所指的内容,没有详细说明,也是我建议使用谷歌搜索的原因。这里有一个关于这个主题的大线索@Chris Aaker-是的,只需在方法末尾添加return false。我用一个例子更新了我的答案。另请参见我对Scott解决方案的评论。这一点很重要,取决于您计划支持的浏览器版本。@JamWaffles-您对细节有很好的洞察力。@mrtsherman谢谢。你有一种魔鬼般的幽默感-P
<a href="/mypage.html" onclick="myFunction();">My Page</a>
<a href="/mypage.html" onclick="myFunction2(); return false;">My Page</a>
<script>
function myFunction() {
//do all the javascript stuff i want
return false;
}
function myFunction2() {
//do all the javascript stuff i want
}
</script>